LeetCode 53. Maximum Subarray
来源:互联网 发布:铅弹可以在淘宝出售吗 编辑:程序博客网 时间:2024/04/28 20:45
问题描述:
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
.
状态转移方程也很简单:
local[i+1] = max(local[i] + a[i+1],a[i+1]);global[i+1] = max(global[i] + a[i+1],global[i]);
即分别用两个变量保存局部最大和全局最大。
AC代码如下:
class Solution {public: int maxSubArray(vector<int>& nums) { int sumLocal = nums[0]; int sumGlobal = nums[0]; for(int i = 1;i < nums.size();i++) { sumLocal = max(sumLocal + nums[i],nums[i]); sumGlobal = max(sumGlobal,sumLocal); } return sumGlobal; }};
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
- Mansory之一 :mas_equalTo和equalTo区别与使用
- C#接口
- java怎么将字符串根据某个字符将字符串分解,并放入数组中
- 顺序栈及共享栈
- shell中的case语句实例介绍
- LeetCode 53. Maximum Subarray
- win10 睡眠不能唤醒
- Java并发之Semaphore详解
- Java面试知识点整理(一)
- H5的新特性及部分API详解
- mysql导入和导出远程数据库命令
- 树结构练习——排序二叉树的中序遍历
- 怎么用java将获取的日期往后添加一天!
- HIHO #1067 : 最近公共祖先·二(并查集+dfs LCA离线算法)