标签:sub 最大 tor with return 最大和 max code size
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array [-2,1,-3,4,-1,2,1,-5,4]
,
the contiguous subarray [4,-1,2,1]
has the largest sum = 6
.
最大子序列和。
dp[i] = max(dp[i-1]+nums[i],nums[i]);代表以i结尾的最大和。
class Solution { public: int maxSubArray(vector<int>& nums) { int n = nums.size(); vector<int> dp(n); int Max = INT_MIN; dp[0] = nums[0]; for (int i = 1; i < n; ++i) { int x = dp[i - 1] + nums[i]; dp[i] = (x > nums[i]) ? x : nums[i]; } for (int i = 0; i < n; ++i) { Max = max(Max, dp[i]); } return Max; } };
标签:sub 最大 tor with return 最大和 max code size
原文地址:http://www.cnblogs.com/pk28/p/7209174.html