刷代码随想录有感(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实现了这一要求。

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

相关推荐
炽烈小老头几秒前
【每天学习一点算法 2025/12/18】对称二叉树
学习·算法
User_芊芊君子6 分钟前
【LeetCode经典题解】:二叉树转字符串递归解法的核心逻辑与代码解剖
算法·leetcode·职场和发展
橘颂TA11 分钟前
【剑斩OFFER】算法的暴力美学——计算右侧小于当前元素的个数
算法·leetcode·排序算法·职业发展
鹿角片ljp13 分钟前
力扣110.平衡二叉树-递归
数据结构·算法·leetcode
TL滕14 分钟前
从0开始学算法——第十九天(并查集练习)
笔记·学习·算法
im_AMBER14 分钟前
Leetcode 80 统计一个数组中好对子的数目
数据结构·c++·笔记·学习·算法·leetcode
少许极端14 分钟前
算法奇妙屋(十九)-子序列问题(动态规划)
java·数据结构·算法·动态规划·子序列问题
图学习小组32 分钟前
PaCon:一种用于识别编程提交中问题求解策略的符号分析方法
人工智能·算法·机器学习
JHC00000036 分钟前
119. 杨辉三角 II
python·算法·面试
剪一朵云爱着37 分钟前
PAT 1158 Telefraud Detection
算法·pat考试