求数组中,子数组合的最大值
来源:互联网 发布:linux 创建home目录 编辑:程序博客网 时间:2024/06/07 17:38
可以考虑动态规划,如当前和小于等于0,则下一个数从新开始计算,保存当前的最大值。
int
FindGreatestSumOfSubArray(vector<
int
> array) {
if
(array.empty())
return
0;
int
sum = array[0], tempsum = array[0];
//注意初始值 不能设为0 防止只有负数
for
(
int
i = 1; i < array.size(); i++)
//从1开始 因为0的情况在初始化时完成了
{
tempsum = (tempsum < 0) ? array[i] : tempsum + array[i];
sum = (tempsum > sum) ? tempsum : sum;
}
return
sum;
}
还可
if(array.size()==0)
return 0;
int curSum=0;
int nMaxSum=0x80000000;
for(int i=0;i<array.size();i++){
if(curSum<=0)
curSum=array[i];
else{
curSum += array[i];
}
if(curSum>nMaxSum)
nMaxSum=curSum;
}
return nMaxSum;
}
阅读全文
0 0
- 求数组中,子数组合的最大值
- 求子数组的最大值
- 求子数组的最大值
- 求数组中连续子数组的最大值
- 求数组的子数组和最大值
- 求数组的子数组之和最大值
- 求数组子数组之和的最大值
- 求子数组最大值
- 求子数组和的最大值算法
- 2.14 求子数组之和的最大值
- 求子数组和的最大值
- 数组中求最大值
- 求数组中最大值
- 求数组中最大值
- 求子数组之和最大值
- 求数组的子数组之和的最大值
- [算法题] 求数组的子数组之和的最大值
- [算法题] 求数组的子数组之和的最大值
- django视图和URL配置
- iOS非常全的三方库、插件、大牛博客
- C#回顾学习笔记十二:三元表达式
- CDH安装kerberos后无法启动zookeeper的解决方法
- Ubuntu安装VMware Tools
- 求数组中,子数组合的最大值
- String str1;和String str2=new String();
- HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库
- Stopwatch测量运行时间
- java集合类学习
- Eclipse 配置内存
- DrawerLayout与XlistView结合
- C++11 新特性:Lambda 表达式
- 小圆点