贪心算法part01 算法

贪心算法part01 算法

● 理论基础
● 455.分发饼干
● 376. 摆动序列
● 53. 最大子序和

1.leetcode455.分发饼干

https://leetcode.cn/problems/assign-cookies/description/

class Solution {
   
    public int findContentChildren(int[] g, int[] s) {
   
        //因为是尽可能满足多的孩子
        Arrays.sort(g);
        Arrays.sort(s);
        //计数器
        int count=0;
        int startIndex=0;
        for(int i=0;i<s.length;i++){
   //饼干
            if(startIndex<=g.length-1&&g[startIndex]<=s[i]){
   //孩子
             count++;
             startIndex++;//孩子位置  
            }
            //没有进入if,那就是孩子位置没有变,而饼干将要向后一个位置
        }
        return count;
    }
}

2.leetcode376. 摆动序列

https://leetcode.cn/problems/wiggle-subsequence/description/

class Solution {
   
    public int wiggleMaxLength(int[] nums) {
   
        //画图,上下坡
        //如果数组长度是0个或者1个,那么直接返回数组长度
        if(nums.length<=1){
   
            return nums.length;
        }
        //当前差值
        int curDiff=0;
        //上一个差值
        int preDiff=0;
        //累加结果
        int count=1;//最后一个已经包括
        for(int i=1;i<nums.length;i++){
   //因为下标为1的元素衔接上一个和当前的差值
            //得到当前差值
            curDiff=nums[i]-nums[i-1];
            //如果当前差值和上一个差值为一正一负的话
            //等于0的情况表示初始时的preDiff
            if((curDiff>0&&preDiff<=0)||(curDiff<0&&preDiff>=0)){
   
                count++;
                preDiff=curDiff;
            }
        }
        return count;
    }
}

3.leetcode53. 最大子序和

https://leetcode.cn/problems/maximum-subarray/description/

class Solution {
    public int maxSubArray(int[] nums) {
        //找出一个具有最大和的连续子数组
        //连续
        //最大,那就每次都是最大的
        //用来保存结果,每次都是最大的
        int result=Integer.MIN_VALUE;
        //用来计数
        int sum=0;
        for(int i=0;i<nums.length;i++){
            //进行累加
            sum+=nums[i];
            if(result<sum){
                result=sum;
            }
            //当让整合为负数的时候,我们就舍弃掉重新出发
            if(sum<0){
                sum=0;
            }
        }
        return result;
    }
}

相关推荐

  1. 贪心算法part01 算法

    2024-01-13 07:46:01       39 阅读
  2. 贪心算法part04 算法

    2024-01-13 07:46:01       36 阅读
  3. 贪心算法part03算法

    2024-01-13 07:46:01       37 阅读
  4. Day27- 贪心算法part01

    2024-01-13 07:46:01       32 阅读
  5. Day31 贪心算法part01

    2024-01-13 07:46:01       33 阅读
  6. Day31- 贪心算法part05

    2024-01-13 07:46:01       36 阅读
  7. Day29- 贪心算法part03

    2024-01-13 07:46:01       40 阅读
  8. Day32- 贪心算法part06

    2024-01-13 07:46:01       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-13 07:46:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-13 07:46:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-13 07:46:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-13 07:46:01       20 阅读

热门阅读

  1. Spark-RDD详解

    2024-01-13 07:46:01       34 阅读
  2. Hadoop分布式集群安装

    2024-01-13 07:46:01       37 阅读
  3. 「HDLBits题解」Module shift

    2024-01-13 07:46:01       42 阅读
  4. vc++开发地图

    2024-01-13 07:46:01       45 阅读
  5. golang学习-golang结构体和Json相互转换

    2024-01-13 07:46:01       36 阅读
  6. Vue 3 Composition API 详解

    2024-01-13 07:46:01       31 阅读
  7. 【Webpack】预处理器 - loader配置介绍

    2024-01-13 07:46:01       28 阅读
  8. Go语言的垃圾回收器

    2024-01-13 07:46:01       34 阅读
  9. go 语言中 map 的相关知识

    2024-01-13 07:46:01       27 阅读