【leetcode】53. Maximum Subarray
2017-03-27 19:56
288 查看
53. Maximum Subarray
https://leetcode.com/problems/maximum-subarray/#/descriptionFind 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.
思路
subproblem:dp[i]为以a[i]结尾的连续子序列的和,则有以下递推式
dp[i] = dp[i-1]>0?dp[i-1]+a[i]:a[i]
然后用一个max保存目前找到的最大的subarray,返回这个max
代码
public class Solution { public int maxSubArray(int[] nums) { if(nums.length==0)return 0; int[] dp = new int[nums.length];//以nums 结尾的连续子序列和 dp[0] = nums[0]; int max = dp[0]; for(int i = 1;i<nums.length;i++){ dp[i] = nums[i]+(dp[i-1]>0?dp[i-1]:0); max = Math.max(max,dp[i]); } return max; } }
相关文章推荐
- [LeetCode]53. Maximum Subarray
- 【LeetCode】53. Maximum Subarray
- LeetCode 53. Maximum Subarray
- 【leetcode】53. Maximum Subarray
- 【leetcode】53. Maximum Subarray
- LeetCode53. Maximum Subarray-python(easy) DP思想
- Leetcode 53. Maximum Subarray
- leetcode 53. Maximum Subarray python
- LeetCode 53. Maximum Subarray
- Leetcode——53. Maximum Subarray
- 【一天一道LeetCode】#53. Maximum Subarray
- leetcode 53. Maximum Subarray
- [leetcode] 53. Maximum Subarray 解题报告
- 第二周:[LeetCode]53. Maximum Subarray
- LeetCode53. Maximum Subarray
- LeetCode53. Maximum Subarray 动态规划和分治法
- leetcode: 53. Maximum Subarray
- leetcode 53. Maximum Subarray
- Leetcode 53. Maximum Subarray
- Leetcode 53. Maximum Subarray