Leetcode 53. Maximum Subarray
2017-12-29 16:39
363 查看
题目的意思是找出连续子序列的最大和。
思路:典型的动态规划问题,以第i个数为结尾的连续子序列最大和sum[i]是 (sum[i-1]+nums[i],nums[i])中较大的数。不断更新re用来存前i个数连续子序列的最大和,时间复杂度O(n).
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int sum=0, re=INT_MIN;
for(int x:nums)
{
sum=max(sum+x,x);
re=max(sum,re);
}
return re;
}
};
思路:典型的动态规划问题,以第i个数为结尾的连续子序列最大和sum[i]是 (sum[i-1]+nums[i],nums[i])中较大的数。不断更新re用来存前i个数连续子序列的最大和,时间复杂度O(n).
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int sum=0, re=INT_MIN;
for(int x:nums)
{
sum=max(sum+x,x);
re=max(sum,re);
}
return re;
}
};
相关文章推荐
- leetcode-53. Maximum Subarray
- Leetcode题解 53. Maximum Subarray 思路解析
- LeetCode53. Maximum Subarray 动态规划和分治法
- leetcode 53. Maximum Subarray
- 【LeetCode】53. Maximum Subarray
- [leetcode] 53. Maximum Subarray
- [LeetCode] 53. Maximum Subarray 最大子数组
- LeetCode-Easy部分中标签为 Dynamic Programming(DP) 53. Maximum Subarray
- [leetcode] 53. Maximum Subarray 解题报告
- LeetCode - 53. Maximum Subarray
- Leetcode 53. Maximum Subarray
- Leetcode 53. Maximum Subarray
- Leetcode解题笔记 53. Maximum Subarray [Easy] 动态规划
- leetcode -- 53. Maximum Subarray
- LeetCode -- 53. Maximum Subarray
- Leetcode 53. Maximum Subarray
- LeetCode 53. Maximum Subarray
- LeetCode 53. Maximum Subarray
- LeetCode53. Maximum Subarray
- 【LeetCode】 53. Maximum Subarray 最大子序列和