【LeetCode】Maximum Subarray 解题报告
2017-05-02 20:10
453 查看
【LeetCode】Maximum Subarray 解题报告
标签(空格分隔): LeetCode题目地址:https://leetcode.com/problems/maximum-subarray/#/description
题目描述:
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.
Ways
明显的DP方法去解决。DP比较简单的方法就是通过构建一个和原长一样长的数组,在dp数组中,每个位置的数字等于当前数字加上前面个位置的dp,当前面的位置是负数时就不要加了,如果加上会使当前位置的dp变小。用max值保留最大的dp数组中的值。public class Solution { public int maxSubArray(int[] nums) { int len = nums.length; int[] dp = new int[len]; dp[0] = nums[0]; int max = dp[0]; for(int i = 1; i < len; i++){ dp[i] = nums[i] + (dp[i -1] > 0 ? dp[i -1] : 0); max = Math.max(max, dp[i]); } return max; } }
Date
2017 年 5 月 2 日相关文章推荐
- LeetCode Maximum Product Subarray 解题报告
- LeetCode: Maximum Subarray 解题报告
- LeetCode 解题报告 Maximum Product Subarray
- Leetcode 644. Maximum Average Subarray II 最大平均区间2 解题报告
- LeetCode: Maximum Product Subarray 解题报告
- LeetCode Maximum Product Subarray 解题报告
- [LeetCode] Maximum Subarray 解题报告
- Leetcode 53-Maximum Subarray 解题报告
- Leetcode 152-MaximumProductSubarray 解题报告
- [LeetCode] Maximum Subarray 解题报告
- Maximum Length of Repeated Subarray解题报告
- Maximum Depth of Binary Tree | leetcode 104 【Java解题报告】
- [Leetcode] 560. Subarray Sum Equals K 解题报告
- LeetCode解题报告 53. Maximum Subarray [medium]
- 【LeetCode】643. Maximum Average Subarray I 解题报告
- LeetCode Binary Tree Maximum Path Sum 解题报告
- Maximum Subarray解题报告zz
- 【LeetCode】Binary Tree Maximum Path Sum 解题报告
- LeetCode: Binary Tree Maximum Path Sum 解题报告
- LeetCode 152. Maximum Product Subarray 解题报告