剑指offer:连续子数组的最大和
来源:互联网 发布:mac desktop 编辑:程序博客网 时间:2024/06/06 14:26
原地址:http://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484
思路:分为两种情况,最大和非负和负。若当前最大和为负,那么令sum直接等于下一个值。
思路:依次读入输入数组,进行累加,动态维护和的最大值。
设置两个变量,一个表示当前累加和currentSum,另一个表示子数组和的最大值greatestSum。由于currentSum为负数时继续累加的话,和只会变小,因此其为负数时,直接将下一个待读入的正整数进行替换。每次读入一个数后,将累加和跟greatestSum比较,来更新所求子数组和的最大值。
class
Solution {
public
:
bool
bInvalid =
false
;
int
FindGreatestSumOfSubArray(vector<
int
> array)
{
if
(array.empty())
{
bInvalid =
true
;
return
0;
}
int
currentSum = 0;
// 当前和
int
greatestSum = 0x80000000;
// 和的最大值,初始值取32位int的最小值
for
(
int
i=0;i<array.size();++i)
{
if
(currentSum < 0)
{
currentSum = array[i];
}
else
{
currentSum += array[i];
}
if
(currentSum > greatestSum)
{
greatestSum = currentSum;
// 更新和的最大值
}
}
return
greatestSum;
}
};
0 0
- [剑指offer]连续子数组最大和
- 剑指offer-最大连续子数组和
- 剑指offer:连续子数组最大和
- 剑指offer---连续子数组最大和
- 【剑指offer】连续子数组最大和
- 剑指offer:31-连续子数组的最大和
- 剑指Offer之连续子数组的最大和
- 【剑指offer】连续子数组的最大和
- 剑指offer-31:连续子数组的最大和
- 剑指offer--连续子数组的最大和
- 剑指Offer之 - 连续子数组的最大和
- 剑指offer之连续子数组的最大和
- 剑指offer 31 - 连续子数组的最大和
- 《剑指offer》连续子数组的最大和
- 剑指offer:连续子数组的最大和
- 【剑指Offer】连续子数组的最大和
- 剑指offer-连续子数组的最大和
- 剑指offer—连续子数组的最大和
- 一键关闭所有应用程序
- 【HDU 5100 Chessboard 】
- 自动化测试流程分析(转载自网络:HYHOLINE的《自动化测试项目开发流程说明》一文)
- UI设计师不可不知的安卓屏幕知识
- 深度学习与计算机视觉系列(2)_图像分类与KNN
- 剑指offer:连续子数组的最大和
- 安卓动态加入xml布局并设置id
- solr查询如何支持多个fq 多条件查询
- linux系统调用、库函数和内核函数关系与区别
- #pragma pack(n)和__attribute__((aligned(m)))的区别
- 邮箱钓鱼那些事:Chrome地址反转漏洞应用案例
- 让我们来聊一聊插件化吧---高深莫测
- 关于Android项目中打包资源文件到apk的总结
- Windows Server 2012 R2安装密钥