代码随想录算法训练营DAY27第八章 贪心算法 part01

目录

[455. 分发饼干](#455. 分发饼干)

[376. 摆动序列](#376. 摆动序列)

[53. 最大子数组和](#53. 最大子数组和)


455. 分发饼干

cpp 复制代码
class Solution {
public:
    int findContentChildren(vector<int>& g, vector<int>& s) {
        int ans=0;
        sort(g.begin(),g.end());
        sort(s.begin(),s.end());
        int p=s.size()-1;
        int k=g.size()-1;
        while(p>=0&&k>=0){
            if(g[k]<=s[p]){
                k--;
                p--;
                ans++;
            }
            else k--;
        }
        return ans;
    }
};

376. 摆动序列

这道题解释得很勉强,感觉不太适合用贪心做

cpp 复制代码
class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
        if(nums.size()==1)return 1;
        int ans=1;
        int prediff=0;
        int curdiff=0;
        for(int i=0;i<nums.size()-1;i++){
            curdiff=nums[i+1]-nums[i];
            if(prediff>=0&&curdiff<0||prediff<=0&&curdiff>0){
                ans++;
                prediff=curdiff;
            }
        }
        return ans;
    }
};

53. 最大子数组和

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int ans=INT_MIN;
        int sum=0;
        for(int t:nums){
            sum+=t;
            ans=max(ans,sum);
            if(sum<0)sum=0;
        }
        return ans;
    }
};
相关推荐
We་ct2 小时前
LeetCode 125. 验证回文串:双指针解法全解析与优化
前端·算法·leetcode·typescript
客卿1232 小时前
力扣20-有效括号(多家面试题)
算法·leetcode·职场和发展
木井巳2 小时前
【递归算法】快速幂解决 pow(x,n)
java·算法·leetcode·深度优先
Maỿbe3 小时前
重走力扣hot的矩阵
算法·leetcode·矩阵
朔北之忘 Clancy3 小时前
2025 年 12 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
2301_790300963 小时前
C++与增强现实开发
开发语言·c++·算法
每天要多喝水3 小时前
贪心算法专题Day18
算法·贪心算法
毅炼4 小时前
hot100打卡——day14
java·数据结构·算法·leetcode·ai·深度优先·哈希算法
liliangcsdn4 小时前
RL中GAE的计算过程详解
大数据·人工智能·算法