连续子数组的最大和
来源:互联网 发布:在数据库中存储的是 编辑:程序博客网 时间:2024/04/20 01:46
题目:连续子数组的最大和。
思路:举个例子:
{1,-2,4,5}
我们知道前两个数组元素的和是-1,因此后面数组如加上这两个元素将会更小。所以我们设置一个变量currentsum,表示遍历到目前为止的和,若和小于0,那我们设置其为0,继续查找,变量max的值就是要返回的值。具体代码比较简短,这里不在赘述。
注:max的更新应该放在判断current是否小于0的前面。
不足之处,欢迎批评指正。
class Solution {
public:int FindGreatestSumOfSubArray(vector<int> array) {
if(array.empty()) return 0;
int currentsum=array[0];
int max=currentsum;
for(int i=1;i<array.size();i++){
currentsum+=array[i];
max=max>currentsum?max:currentsum;
if(currentsum<0){
currentsum=0;
}
}
return max;
}
};
0 0
- 数组连续子数组的和最大
- 数组连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- (8)连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 求连续子数组的最大和
- 连续子数组的最大和
- 连续子数组的最大和
- 个人简历
- 【hibernate进阶】hibernate基本映射
- 通过HTML的方式给textview设置不同的颜色
- Java学习笔记
- Google 面试题
- 连续子数组的最大和
- 算法之插入排序
- 游戏手柄(JoyStick)编程学习笔记(1)
- LFW99%准确率的人脸识别SDK|源代码
- 代码风格的总结
- hdu 4991(树状数组优化dp)
- LeetCode题解-234-Palindrome Linked List
- Android基础学习之BaseAdaptery以及SimpleCursorAdapter的使用
- cocoapods安装