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

  • 今日学习的文章链接,或者视频链接

第八章 贪心算法 part01

  • 自己看到题目的第一想法

  • 看完代码随想录之后的想法

455:

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

376

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

53

动态规划:

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        //以 nums[i] 为结尾的「最大子数组和」为 dp[i]
        int n = nums.size();
        if(n==0) return 0;
        vector<int> dp(n);
        dp[0] = nums[0];
        int result = dp[0];
        for(int i=1;i<n;i++){
            dp[i] = max(nums[i],dp[i-1]+nums[i]);
            result = max(result,dp[i]);
        }
        return result;

    }
};

贪心:

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int n = nums.size();
        if(n==0) return 0;
        int result = nums[0];
        int cur = 0;
        for (int i=0;i<n;i++){
            cur+=nums[i];
            if(cur>result){
                result = cur;
            }
            if(cur<0){
                cur = 0;
            }
        }
        return result;
    }
};
  • 自己实现过程中遇到哪些困难

  • 今日收获,记录一下自己的学习时长

相关推荐
躺平大鹅36 分钟前
Java面向对象入门(类与对象,新手秒懂)
java
HXhlx1 小时前
CART决策树基本原理
算法·机器学习
Wect1 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
初次攀爬者1 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺2 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
颜酱2 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法
Derek_Smart3 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP4 小时前
MyBatis-mybatis入门与增删改查
java
孟陬7 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌7 小时前
一站式了解四种限流算法
java·后端·go