代码随想录算法训练营Day26 | Leetcode 455 分发饼干 Leetcode 376 摆动序列 Leetcode 53 最大子序和

Leetcode 455 分发饼干

题目链接:455. 分发饼干 - 力扣(LeetCode)

代码随想录题解:代码随想录 (programmercarl.com)

思路:将小饼干优先喂饱小胃口

代码:

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

Leetcode 376 摆动序列

题目链接:376. 摆动序列 - 力扣(LeetCode)

代码随想录题解:代码随想录 (programmercarl.com)

思路:将数组中的数看成折线图的点,只记录波峰和波谷的点。

代码:

cpp 复制代码
class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
    if(nums.size()<=1)
    {
        return 1;
    }
    if(nums.size()==2&&nums[0]!=nums[1])
    {
        return 2;
    }
    if(nums.size()==2&&nums[0]==nums[1])
    {
        return 1;
    }
    int count=1;
    int curdiff=0;
    int prediff=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)
        {
            count++;
            prediff=curdiff;
        }
    }
    return count;
    }
};

Leetcode 53 最大子序和

题目链接:53. 最大子数组和 - 力扣(LeetCode)

代码随想录题解:代码随想录 (programmercarl.com)

思路:记录当前和的值,如果和为负数那么就重新记录,因为和为负数肯定就不是最大值了。

代码:

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
     int result=INT32_MIN;
     int count=0;
     for(int i=0;i<nums.size();i++)
     {
        count+=nums[i];
        if(count>result)
        {
            result=count;
        }
        if(count<0)
        {
            count=0;
        }
     }
     return result;
    }
};
相关推荐
纪元A梦2 小时前
贪心算法应用:化工反应器调度问题详解
算法·贪心算法
深圳市快瞳科技有限公司2 小时前
小场景大市场:猫狗识别算法在宠物智能设备中的应用
算法·计算机视觉·宠物
liulilittle3 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
superlls5 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
田里的水稻5 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法
纪元A梦6 小时前
贪心算法应用:保险理赔调度问题详解
算法·贪心算法
Jayden_Ruan6 小时前
C++逆向输出一个字符串(三)
开发语言·c++·算法
点云SLAM7 小时前
C++ 常见面试题汇总
java·开发语言·c++·算法·面试·内存管理
叙白冲冲8 小时前
哈希算法以及面试答法
算法·面试·哈希算法
YuTaoShao9 小时前
【LeetCode 每日一题】1277. 统计全为 1 的正方形子矩阵
算法·leetcode·矩阵