代码随想录算法训练营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;
    }
};
相关推荐
一只码代码的章鱼25 分钟前
数据结构与算法-搜索-剪枝
算法·深度优先·剪枝
roman_日积跬步-终至千里1 小时前
【后端基础】布隆过滤器原理
算法·哈希算法
若兰幽竹1 小时前
【机器学习】多元线性回归算法和正规方程解求解
算法·机器学习·线性回归
鱼力舟2 小时前
【hot100】240搜索二维矩阵
算法
北_鱼3 小时前
支持向量机(SVM):算法讲解与原理推导
算法·机器学习·支持向量机
SuperW4 小时前
蓝桥杯——lcd显示
职场和发展·蓝桥杯
MZWeiei5 小时前
PTA:运用顺序表实现多项式相加
算法
GISer_Jing5 小时前
Javascript排序算法(冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序)详解
javascript·算法·排序算法
cookies_s_s5 小时前
Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)
linux·运维·服务器·数据结构·c++·算法·哈希算法
不想编程小谭5 小时前
力扣LeetCode: 2506 统计相似字符串对的数目
c++·算法·leetcode