leetcode53-Maximum Subarray-动态规划
2018-02-07 10:02
387 查看
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array
the contiguous subarray
动态规划,到当前index的子串的最大值可能有两种情况:
1. 当前元素的nums[i]
2. nums[i] + 包括了上一个元素nums[i - 1]的最大子串的和
var maxSubArray = function(nums) {
if (nums.length === 0) {
return null;
}
var maxVal = currMax = nums[0];
for (var i = 1; i < nums.length; i++) {
currMax = Math.max(nums[i], currMax + nums[i]);
maxVal = Math.max(currMax, maxVal);
}
return maxVal;
};
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.
动态规划,到当前index的子串的最大值可能有两种情况:
1. 当前元素的nums[i]
2. nums[i] + 包括了上一个元素nums[i - 1]的最大子串的和
var maxSubArray = function(nums) {
if (nums.length === 0) {
return null;
}
var maxVal = currMax = nums[0];
for (var i = 1; i < nums.length; i++) {
currMax = Math.max(nums[i], currMax + nums[i]);
maxVal = Math.max(currMax, maxVal);
}
return maxVal;
};
相关文章推荐
- leetcode_53题——Maximum Subarray(动态规划)
- leetcode_53 Maximum Subarray_动态规划
- leetcode-53-Maximum Subarray 动态规划
- LeetCode 53/152 Maximum Subarray/Maximum Product Subarray(动态规划)
- 【Leetcode 32.Longest Valid Parentheses】动态规划
- leetcode_152题——Maximum Product Subarray(动态规划)
- Leetcode 动态规划 Climbing Stairs
- leetcode-53
- leetcode 53. Maximum Subarray(C语言,动态规划)40
- 【LeetCode 53】Maximun Subarray(Python)
- leetcode53最大连续数和
- 【动态规划】leetcode - Maximal Square
- LeetCode 132 Palindrome Partitioning II (动态规划)
- 343.[LeetCode] 动态规划 Integer Break
- leetCode 70. Climbing Stairs | 动态规划
- Leetcode 53 Maximum Subarray
- LeetCode 53 Maximum Subarray
- leetcode: Word Break 纪念又一次死在动态规划上
- 动态规划中级教程(leetcode)152.Maximum Product Subarray
- [LeetCode - 动态规划] 120. Triangle