DP——Maximum Subarray
来源:互联网 发布:防arp攻击软件 编辑:程序博客网 时间:2024/06/05 11:09
问题描述:
在数组中找到连续的子列(包含至少一个数字),使其和最大。
解题思路:
声明一个sum数组,用来记录当前连续子列的最大和。key:如果当前元素加上sum[i-1],比本身的数值要小的话,则选取当前元素的数值作为sum[i]
源代码:
class Solution {
public:
int maxSubArray(vector<int>& nums) {
vector<int> sum;
sum.push_back(nums[0]);
for(int i=1;i<nums.size();i++)
{
if(nums[i]>sum[i-1]+nums[i]) sum.push_back(nums[i]);
else sum.push_back(sum[i-1]+nums[i]);
}
int max=sum[0];
for(int i=0;i<sum.size();i++)
if(max<sum[i]) max=sum[i];
return max;
}
};
public:
int maxSubArray(vector<int>& nums) {
vector<int> sum;
sum.push_back(nums[0]);
for(int i=1;i<nums.size();i++)
{
if(nums[i]>sum[i-1]+nums[i]) sum.push_back(nums[i]);
else sum.push_back(sum[i-1]+nums[i]);
}
int max=sum[0];
for(int i=0;i<sum.size();i++)
if(max<sum[i]) max=sum[i];
return max;
}
};
0 0
- DP——Maximum Subarray
- 【Leetcode】Maximum Subarray (DP)
- LeetCode Maximum Subarray DP
- [leetcode][DP]Maximum Subarray
- DP---Maximum Subarray
- LeetCode——Maximum Subarray
- LeetCode——Maximum Subarray
- LeetCode53——Maximum Subarray
- leetcode——Maximum Subarray
- Leetcode53——Maximum Subarray
- LeetCode——Maximum Subarray
- LeetCode——Maximum subarray
- LeetCode—Maximum Product Subarray
- Algorithms—53.Maximum Subarray
- LeetCode152—Maximum Product Subarray
- DP Leetcode - Maximum Product Subarray
- 【Leetcode】Maximum Product Subarray (DP)
- 53. Maximum Subarray(dp)
- Struts(2)Struts快速入门案例和使用filter配合Struts,解决中文乱码问题
- angular表单验证笔记篇
- EasyUI——datagrid 的onLoadSuccess事件无数据时提示
- springboot 集成mybatis
- shell使用echo打印输出及printf格式化输出
- DP——Maximum Subarray
- mysql源码学习笔记:文件读写模块IO_CACHE
- 使用Jquery解析Json基础知识
- 当你无助时,你会想起谁?
- 使用Disqus API实现"最近评论"功能
- 二维数组的几种表示方法
- Remove Duplicates from Sorted Array
- SDKD2017——Scarily interesting! (贪心)
- Anaconda4.3.1.0 + opencv3.2 + python3.6 + win8安装配置