leetcode 53. Maximum Subarray
来源:互联网 发布:单片机独立按键 编辑:程序博客网 时间:2024/05/23 20:57
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.
动态规划思路,d[i]为到以i结尾的子串的最大值,到i+1时,如果d[i] <= 0,d[i+1] = arr[i+1],否则d[i+1] = d[i] +arr[i+1]。发现每次计算只与前一个状态有关,那么久可以只设一个变量存放之前的结果。
public class Solution { public int maxSubArray(int[] nums) { if(nums.length ==0 || nums==null) return Integer.MIN_VALUE; int pre = nums[0]; int res = nums[0]; for(int i = 1; i < nums.length; i++){ if(pre > 0){ pre += nums[i]; }else{ pre = nums[i]; } res = Math.max(res, pre); } return res; }}
Top的方法思路也是如此,不过有一些还是开了一个数组,不值得。
阅读全文
0 0
- [LeetCode]53.Maximum Subarray
- LeetCode --- 53. Maximum Subarray
- [Leetcode] 53. Maximum Subarray
- [leetcode] 53.Maximum Subarray
- 【leetcode】53. Maximum Subarray
- [leetcode] 53.Maximum Subarray
- 【leetcode】53. Maximum Subarray
- LeetCode 53. Maximum Subarray
- [LeetCode]53. Maximum Subarray
- 53. Maximum Subarray LeetCode
- [LeetCode]53. Maximum Subarray
- leetcode 53. Maximum Subarray
- [leetcode] 53. Maximum Subarray
- LeetCode *** 53. Maximum Subarray
- 【LeetCode】53. Maximum Subarray
- leetcode 53. Maximum Subarray
- LeetCode 53. Maximum Subarray
- Leetcode:53. Maximum Subarray
- Android 资源文件调用
- mysql数据库data目录下文件说明
- 函数作用域和声明提前
- 回溯法,深度优先遍历
- Dictionary之setValue和setObject的区别(说起来简单,却很容易忽略的知识点)
- leetcode 53. Maximum Subarray
- python 时间戳转标准时间
- rudy环境下sass编译报错的问题
- 【几何】CodeForces
- 搜索练习题P-16
- 旋转变换(二)欧拉角
- 图的邻接表存储 c实现
- 【java面试】网络通信篇
- Android--Scrollview与Listview的嵌套使用