刷代码随想录有感(83):贪心算法——最大子数组和

题干:

代码:

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int res = INT_MIN;
        int count = 0;
        for(int i = 0; i < nums.size(); i++){
            count += nums[i];
            if(count > res) res = count;
            if(count <= 0)count = 0;
        }
        return res;
    }
};

局部最优:只要连续和大于0就一直遍历加下去,直到为0或小于0时再以下一个数为起点往下加。而令count=0实现了这一要求。

最大子序列可以包含负数,只要连续和是正数就行了。

相关推荐
通信小呆呆10 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben04411 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
何以解忧,唯有..12 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅100513 小时前
【leetcode】88.合并两个有序数组js
算法
生成论实验室13 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres82113 小时前
算法复键——树状数组
数据结构·算法
H1785350909613 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
不会就选b14 小时前
算法日常・每日刷题--<二分查找>3
算法
绿算技术14 小时前
Mooncake 与绿算ForinnBase GroundPool如何联手打破推理僵局?
科技·算法·架构