Leetcode--Maximum Subarray
来源:互联网 发布:考研英语翻译人工智能 编辑:程序博客网 时间:2024/04/27 18:48
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.
More practice:
If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.
解题思路:对A[0]、A[1]...A[n-1]这n个数中求连续子集的最大值
对A[1]、A[2]...A[n-1] 中最大和为All[1],包含A[1]的最大和为Start[1]
那么,All[0]=MAX{A[0],A[0]+Start[1],All[1]}
这里的划分:A[0]与最大和数组有无关系,或者说最大和数组包含不包含A[0]
算法思想是动态规划,从后往前,不去计算已经算过的东西,即“去除冗余”
class Solution {public: int maxSubArray(int A[], int n) { //A[0] //A[1]...A[n-1] 最大和为All[1] //包含A[1]的最大的和为Start[1] if(n<=0) return 0; int All,Start; All=Start=A[n-1]; for(int i=n-2;i>=0;i--) { if(A[i]+Start>A[i]) Start=A[i]+Start; else Start=A[i]; if(Start>All) All=Start; } return All; }};
0 0
- 【LeetCode】Maximum Subarray 和 Maximum Product Subarray
- LeetCode: Maximum Subarray
- LeetCode Maximum Subarray
- [Leetcode] Maximum Subarray
- LeetCode: Maximum Subarray
- leetcode 25: Maximum Subarray
- [LeetCode] Maximum Subarray
- [Leetcode] Maximum Subarray
- [LeetCode]Maximum Subarray
- [leetcode]Maximum Subarray
- LeetCode-Maximum Subarray
- [leetcode] Maximum Subarray
- LeetCode 45: Maximum Subarray
- LeetCode - Maximum Subarray
- LeetCode:Maximum Subarray
- LeetCode 53: Maximum Subarray
- 【leetcode】Maximum Subarray
- Leetcode Maximum Subarray
- 我读经典(7):读《程序员生存定律》有感
- android_TabHost设置点击事件newTapSpec_141001
- 根据CentOS定制自己的发行版
- 浅谈smarty模板的mvc框架
- Linux 线程实现机制分析
- Leetcode--Maximum Subarray
- DirectX 9.0c游戏开发手记之RPG编程自学日志之17: Drawing with DirectX Graphics (用DirectX图形绘图)(第13节)
- css 属性规定要显示的光标的类型(形状)如手状
- openwrt系统 sysupgrade 命令执行过程分析
- java实现生成简单图片验证码
- 希尔排序的实现
- 趋势科技对ShellshockBash漏洞的解决方案说明
- java/android 统计文件夹大小及删除文件夹下所有文件和路径
- Google Chrome浏览器调试方法