53. Maximum Subarray Easy
来源:互联网 发布:java互联网开发框架 编辑:程序博客网 时间:2024/06/08 12:48
这是一道关于动态规划的简单题,求和最大的子串。我们使用一维数组sun[i]来表示,以i结尾的子串的和最大值,当i=0时,sum[0]肯定是nums[0],当i大于0时,状态转移方程为:sum[i] = sum[i - 1] > 0? sum[i - 1] + nums[i]: nums[i]; 解释:以i结尾的最大子串和,看前一个子串和是正还是负,如果是正,无论第i个数是正还是负,都要加上前面的子串的和,这样才是最大和(因为加正数肯定值变大),如果前一个子串和是负,sun[i]就是nums[i]这个数。
class Solution {public: int maxSubArray(vector<int>& nums) { int sum[nums.size()]; int max; for (int i = 0; i < nums.size(); ++i) { if(i == 0){sum[i] = nums[i]; max = sum[i];} else { sum[i] = sum[i - 1] > 0 ? sum[i - 1] + nums[i]: nums[i]; if(sum[i] > max) max = sum[i]; } } return max; }};
阅读全文
0 0
- 53. Maximum Subarray -Easy
- 53. Maximum Subarray Easy
- LeetCode 53. Maximum Subarray (Easy)
- LeetCode 53. Maximum Subarray(Easy)
- Leetcode53[easy]--Maximum Subarray
- LeetCode53. Maximum Subarray(easy)
- 【Leetcode-Easy-53】Maximum Subarray
- Leetcode解题笔记 53. Maximum Subarray [Easy] 动态规划
- (算法分析Week1)Maximum Subarray[Easy]
- LeetCode-Easy-Java-Maximum Average Subarray I
- LeetCode-Easy刷题(11) Maximum Subarray
- leetcode 643[easy]--Maximum Average Subarray I
- 算法第16周Maximum Subarray[easy]
- [LeetCode]53.Maximum Subarray
- LeetCode --- 53. Maximum Subarray
- 53.Maximum Subarray
- [Leetcode] 53. Maximum Subarray
- [leetcode] 53.Maximum Subarray
- Java8之Lambda
- 微服务,微架构[十一]springboot模板页面velocity
- 小型聊天程序
- 工作紧张的5月
- Handler机制
- 53. Maximum Subarray Easy
- [openGL超级宝典][笔记][8.1缓冲区]
- 还原二叉树 (8分)
- Linux fork(),vfork(),clone()底层浅谈
- java类加载
- 利用一个数组实现两个栈
- MessageDigest
- bar
- c++二叉树的构建