连续子数组的最大和
2016-06-02 23:50
344 查看
动态规划的思路
f(i)={pData[i] i=0或者f(i-1)<=0;
f(i-1)+pData[i] i!=0或者 f(i-1)>0}
如果和小于0,则下一个元素赋值给和。
如果和大于0,则继续加。
int FindGreatestSumOfSubArray(vector<int> array) {
int len=array.size();
if(len==0)
return 0;
int sum=0;
int maxsum=array[0];
for(int i=0;i<len;i++)
{
if(sum<=0)
sum=array[i];
else
sum=sum+array[i];
if(sum>maxsum)
maxsum=sum;
}
return maxsum;
}
f(i)={pData[i] i=0或者f(i-1)<=0;
f(i-1)+pData[i] i!=0或者 f(i-1)>0}
如果和小于0,则下一个元素赋值给和。
如果和大于0,则继续加。
int FindGreatestSumOfSubArray(vector<int> array) {
int len=array.size();
if(len==0)
return 0;
int sum=0;
int maxsum=array[0];
for(int i=0;i<len;i++)
{
if(sum<=0)
sum=array[i];
else
sum=sum+array[i];
if(sum>maxsum)
maxsum=sum;
}
return maxsum;
}
相关文章推荐
- Library string type(2)——关于String的操作
- 数据库多线程编程
- Activity跳转过程中OnActivityForResult()不执行的原因。
- Library string type(2)——关于String的操作
- L2-006.树的遍历
- git 学习笔记(一)
- 我的第一个servlet程序
- Spark数据分析之第5课
- MyBaties动态的SQL
- python bitwise and or operator VS logical operator
- 在linux下使用curl访问 多参数url GET参数问题
- wamp通过phpMyAdmin修改登录密码
- boostrap
- ssh连接时提示THE AUTHENTICITY OF HOST XX CAN’T BE ESTABLISHED
- c语言模拟实现memmove
- VS下载地址
- android微信支付开发流程
- R语言-向量化操作(apply、tapply、lapply、sapply、mapply、table等)
- poj #3744 Scout YYF I
- 购物车项目(五)——编写CartServlet类