leetcode -- Maximum Subarray
2015-07-23 13:27
267 查看
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.
分析
aia_i | ai+1a_{i+1} | ...... | aja_j | ...... | ak−2a_{k-2} | ak−1a_{k-1} | aka_k |
---|
因此, maxStr中任一aia_i开头的子序列sum{aia_i …, aja_j} ≥\ge 0.
class Solution { public: int maxSubArray(int A[], int n) { int max = A[0], sum = 0; for(int i = 0; i < n; i++){ sum += A[i]; if(max < sum) max = sum; if(sum < 0) sum = 0; } return max; } };
相关文章推荐
- HTML5 动画引擎 小记
- 自定义UITableViewCell上的delete按钮
- HDU 1862 EXCEL排序
- Minor GC、Major GC和Full GC之间的区别
- SAP RFC user 最小权限
- 在List中常用的linq表达式
- FireDac 与数据库连接时字符集及对应的字段类型问题
- 在PHP中如何使用消息列队
- iOS开发总结——协议代理的认识
- Android百度 地图打开显示某坐标的地图
- PAT (Advanced Level) 1028. List Sorting (25) 结构体排序
- DataStructure-1-基础
- SQL Server查询分页
- CSDN的Markdown编辑器
- Linux傻瓜式搭建GitLab服务
- 有状态bean和无状态bean是在说什么
- 多线程学习
- c语言 求两个整数的最大公约数
- Android酷炫实用的开源框架(UI框架)
- [ISA]将ISA Server 2004服务器计算机配置为DHCP服务器