leetcode 53. Maximum Subarray
2016-09-19 15:51
429 查看
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.
首先,不难分析出目标子串的左右两边都一定是负数 且边界值为正数
也就是
不过这个分析也没什么用。。。
-2 4 3 5 -6 7 3 1 0 -3
dp[i]表示:包含第i 个元素 且以第i个元素为最后一个元素的子串 的最大长度
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.
首先,不难分析出目标子串的左右两边都一定是负数 且边界值为正数
也就是
. . . 负 正 . . . 正 负 . . .
不过这个分析也没什么用。。。
-2 4 3 5 -6 7 3 1 0 -3
dp[i]表示:包含第i 个元素 且以第i个元素为最后一个元素的子串 的最大长度
public int maxSubArray(int[] nums) { int[] dp = new int[nums.length]; int max = Integer.MIN_VALUE; if(nums.length == 0) return 0; dp[0] = nums[0]; if(dp[0] > max) max = dp[0]; for(int i = 1;i < nums.length;i++){ dp[i] = nums[i]; if(dp[i-1] > 0) dp[i] += dp[i-1]; if(dp[i] > max) max = dp[i]; } return max; }
相关文章推荐
- mysql update报错
- awesome:linux下的平铺式桌面
- 疑ISIS黑客入侵美国人权委员会网站,并留言放话
- C# DataTable的用法
- AngularJS+JQuery 做的一个复选框树形结构
- _ATTRIBUTE__ 你知多少?
- Android:ScaleType与Matrix相关
- iOS 学习笔记 触摸事件
- NEFU OJ23
- Flume官方文档翻译之(十二)
- Upgrade VM Hardware Version
- 二叉搜索树应用分析
- 创建一个CocoaPod
- Neutron 理解(5):Neutron 是如何向 Nova 虚机分配固定IP地址的 (How Neutron Allocates Fixed IPs to Nova Instance)
- JFinal 架构及扩展
- alias sample method——运行时间复杂度为O(1)的抽样算法
- CSS 属性选择器
- 进程通信方式
- -exec
- 关于时间格式几种简单处理