您的位置:首页 > 其它

LeetCode 53. Maximum Subarray

2016-01-21 23:51 246 查看
https://leetcode.com/problems/maximum-subarray/

dp题 很老了

dp[i]是以i为结尾的和,那么当遍历到第i个数的时候,有两种选择,从i开始中心来,或者接着之前的dp[i-1]+nums[i]

记录整个过程的最大值即可,O(n)

话说  @博乐之后,,,我博客浏览量下降很惨啊 T_T

class Solution {
public:
int maxSubArray(vector<int>& nums) {
if(nums.size() == 0) return 0;
int mx = nums[0];
int dp[100001];
dp[0] = nums[0];
for(int i=1;i<nums.size();i++) {
dp[i] = max(nums[i], dp[i-1]+nums[i]);
mx = max(mx, dp[i]);
}
return mx;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: