代码随想录刷题随记27-贪心1

代码随想录刷题随记27-贪心

455.分发饼干

leetcode链接

java 复制代码
class Solution {
    public int findContentChildren(int[] g, int[] s) {
        //boolean used[]=new boolean [s.length];
        Arrays.sort(s);
        Arrays.sort(g);
        int  index=0;
        int ret=0;
        for(int i=0;i<g.length;i++){
            while(index<s.length&&g[i]>s[index]){
                index++;
            }

            if(index>=s.length)
               return ret;
            ret++;
            index++;
        }
        return ret;
    }
}

376. 摆动序列

leetcode链接

贪心:

去除所有坡上的点

java 复制代码
class Solution {
    public int wiggleMaxLength(int[] nums) {
     int length=0;
     int curdif=0;
     int predif=0;
     int next;
     if(nums.length<1)
       return nums.length;

     for(int i=1;i<nums.length;i++){
         curdif=nums[i]-nums[i-1];
         if(curdif!=0&&(curdif*predif<0||predif==0)){
            length++;
            predif=curdif;
         }

     }
     
     return length+1;

    }
}

53. 最大子序和

leetcode链接

贪心:

局部最优:当前"连续和"为负数的时候立刻放弃,从下一个元素重新计算"连续和",因为负数加上下一个元素 "连续和"只会越来越小。

全局最优:选取最大"连续和"

java 复制代码
class 
Solution {
    public int maxSubArray(int[] nums) {
      int count=Integer.MIN_VALUE;
      int cur=0;
      int cursum=0;
      for(int i=0;i<nums.length;i++){      
          cursum+=nums[i];
          count=Math.max(cursum, count);
          if(cursum<0){
            cursum=0;
          }
          
      }
      return count;

    }
}
相关推荐
贾斯汀玛尔斯3 小时前
每天学一个算法--LSM-Tree(Log-Structured Merge Tree)
java·算法·lsm-tree
bitt TRES3 小时前
springboot与springcloud对应版本
java·spring boot·spring cloud
Y001112363 小时前
JavaWeb-end
java·servlet·web
bzmK1DTbd4 小时前
Git版本控制:Java项目中的分支管理与合并策略
java·开发语言·git
JWASX6 小时前
【RocketMQ 生产者和消费者】- 事务源码分析(1)
java·rocketmq·java-rocketmq
AlunYegeer7 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
浅念-7 小时前
刷穿LeetCode:BFS 解决 Flood Fill 算法
数据结构·c++·算法·leetcode·职场和发展·bfs·宽度优先
做cv的小昊8 小时前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
DFT计算杂谈8 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化