代码随想录算法训练营第三十一天 |分发饼干 、摆动序列 ,最大子序和

455.分发饼干

class Solution {
public:
    int findContentChildren(vector<int>& g, vector<int>& s) {
            sort(g.begin(),g.end());
            sort(s.begin(),s.end());
            int index = s.size() -1;
            int result = 0;
            for (int i = g.size()-1; i >= 0; i--) {
                if (index>= 0 && s[index] >= g[i]) {
                    index--;
                    result++;
                }
            }
            return result;
    }   
};

376. 摆动序列

class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
        if (nums.size() <= 1) return nums.size();
        int curDiff = 0; 
        int preDiff = 0; 
        int result = 1; 
        for (int i = 0; i < nums.size() - 1; i++) {
            curDiff = nums[i + 1] - nums[i];
            if ((preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)) {
                result++;
                preDiff = curDiff; 
            }
        }
        return result;
    }
};

53. 最大子序和

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        if (nums.size() == 1) return nums[0];
         int maxAns = nums[0];
         int pre = 0;
         for (const auto &x : nums) {
             pre = max(pre+x,x);
             maxAns = max(pre,maxAns);
         }
         return maxAns;
    }
};
posted @   MasEne  阅读(14)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示