53. Maximum Subarray
来源:互联网 发布:linux内核编译详解 编辑:程序博客网 时间:2024/06/05 03:39
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
.
click to show more practice.
AC代码(Java版):
public int maxSubArray(int[] A) { int max = A[0], dp = A[0]; for (int i = 1; i < A.length; i++) { dp = Math.max(dp + A[i] ,A[i]); max = Math.max(max, dp); } return max;}
摘自Discuss:
Just do DP, use curMax to calculate the maximum sum ending at nums[i], so the recurisve equation is
curMax at i+1 = max(0, curMax) + nums[i+1]
代码:
class Solution {public: int maxSubArray(vector<int>& nums) { int curMax = 0, res = INT_MIN, i; for(auto x:nums) { curMax = curMax>0? (curMax + x):x ; if(curMax > res ) res = curMax; } return res; }};
其实两段代码思路一模一样,但是第二个读上去舒服一点。。。
阅读全文
0 0
- [LeetCode]53.Maximum Subarray
- LeetCode --- 53. Maximum Subarray
- 53.Maximum Subarray
- [Leetcode] 53. Maximum Subarray
- [leetcode] 53.Maximum Subarray
- 53.Maximum Subarray
- 53. Maximum Subarray
- 【leetcode】53. Maximum Subarray
- [leetcode] 53.Maximum Subarray
- 【leetcode】53. Maximum Subarray
- 53. Maximum Subarray
- LeetCode 53. Maximum Subarray
- 53. Maximum Subarray
- [LeetCode]53. Maximum Subarray
- 53. Maximum Subarray LeetCode
- 53. Maximum Subarray
- [LeetCode]53. Maximum Subarray
- 53. Maximum Subarray
- 小型游戏《笑傲江湖之精忠报国》全过程_03
- 51nod 1267 4个数和为0(二分)
- linux下如何安装jdk
- DeepLearning&Keras学习笔记3__mnist数据集CNN
- 一款有趣的游戏
- 53. Maximum Subarray
- JavaScript权威指南读书笔记——第七章 数组
- Use VS2017 C# 7.0 to accelerate async code
- 关于HTML form accept-charset 属性的若干尝试
- 处理阶乘及阶乘逆元的小技巧
- ImageLoader 图片加载框架
- 递归与动态规划---汉诺塔问题
- centos7安装ansible遇到的问题
- 金蝶K3 SQL报表系列-库存账龄分析