[LeetCode-Algorithms-53] "Maximum Subarray" (2017.10.19-WEEK7)
2017-10-19 22:25
459 查看
题目链接:Maximum Subarray
题目描述: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.
(1)思路:参考以下,Kadane算法。
最大子串和问题清晰解题: 寻找最大子数列-Kadane算法
连续子数组最大和
从数组头循环,使用两个计数变量sum和max分别记录当前扫描和以及已扫描的最大和,当sum为负时重置为0。
(2)代码:
class Solution { public: int maxSubArray(vector<int>& nums) { if (nums.size() < 1) return 0; int i, sum = 0; int max = nums[0]; for (i = 0; i < nums.size(); ++i) { sum += nums[i]; if (sum > max) max = sum; if (sum < 0) sum = 0; } return max; } };
(3)提交结果:
相关文章推荐
- [LeetCode-Algorithms-91] "Decode Ways" (2017.10.19-WEEK7)
- [LeetCode-Algorithms-32] "Longest Valid Parentheses" (2017.10.19-WEEK7)
- LeetCode-53-Maximum Subarray-E
- LeetCode 53: Maximum Subarray
- LeetCode 53/152 Maximum Subarray/Maximum Product Subarray---DP **
- Leetcode 53-Maximum Subarray 解题报告
- LeetCode "Maximum Product Subarray"
- LeetCode(53) Maximum Subarray
- leetcode(53)Maximum Subarray
- LeetCode: -Dynamic Programming-Maximum Subarray[53]-子数组最大和
- Leetcode-53: Maximum Subarray
- Leetcode 53:Maximum Subarray
- LeetCode "Maximum Subarray"
- LeetCode 53: Maximum Subarray
- leetcode-53 maximum-subarray
- LeetCode解题-#53-Maximum subarray problem
- LeetCode 53/152 Maximum Subarray/Maximum Product Subarray(动态规划)
- LeetCode-53-Maximum Subarray 贪心
- LeetCode_OJ【53】Maximum Subarray
- [LeetCode]: 53: Maximum Subarray