代码随想录Day31

Day 31 贪心算法 Part01

今日任务

  • 455.分发饼干
    1. 摆动序列
    1. 最大子序和

代码实现

455.分发饼干

	//自己想的,虽然看着不让代码随想录给出的解法简洁,但是理论是一样的
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int count = 0;
        int startIndex = 0;
        for (int k : g) {
            for (int j = startIndex; j < s.length; j++) {
                if (s[j] >= k) {
                    count++;
                    startIndex = j + 1;
                    break;
                }
            }

        }
        return count;
    }
	//代码随想录解法,优先把大饼干分给胃口大的人
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int count = 0;
        int startIndex = s.length - 1;
        for (int i = g.length - 1; i >= 0; i--) {
            if (startIndex >= 0 && s[startIndex] >= g[i]) {
                count++;
                startIndex--;

            }
        }
        return count;
    }
  1. 摆动序列
    public int wiggleMaxLength(int[] nums) {
        if (nums.length < 3) return nums.length;
        int preDiff = 0;
        int curDiff = 0;
        int count = 1;
        for (int i = 0; i < nums.length - 1; i++) {
            curDiff = nums[i + 1] - nums[i];
            if ((preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)) {
                count++;
            }
            if (curDiff != 0) {
                preDiff = curDiff;
            }
        }

        return count;

    }
  1. 最大子序和
    public int maxSubArray(int[] nums) {
        int count = 0;
        int result = Integer.MIN_VALUE;
        for (int num : nums) {
            count+=num;
            if (count < 0) {
                count = 0;
            }
            if (count > result) {
                result = count;
            }
        }
        return result;
    }

今日总结

  1. 除了第一道题一看就有思路,后边的题完全想不出来,也想不出贪心是什么个贪心法,只能看题解,有点像一开始做二叉树的感觉。
  2. 能用贪心做的是否都能用动态规划实现?
  3. 今天大亏,昨天和今天中午都想的清仓,睡一觉就忘了

相关推荐

  1. 代码随想Day31

    2024-03-23 09:52:01       20 阅读
  2. 代码随想Day37

    2024-03-23 09:52:01       20 阅读
  3. 代码随想day32

    2024-03-23 09:52:01       14 阅读
  4. 代码随想 day37|day38|day39

    2024-03-23 09:52:01       8 阅读
  5. 代码随想学习Day 31

    2024-03-23 09:52:01       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-23 09:52:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-23 09:52:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-23 09:52:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-23 09:52:01       18 阅读

热门阅读

  1. Qt平台插件“xcb“加载失败问题及其解决方案

    2024-03-23 09:52:01       16 阅读
  2. shentou思路流程

    2024-03-23 09:52:01       17 阅读
  3. 【高并发服务器 02】——线程池与IO多路复用

    2024-03-23 09:52:01       18 阅读
  4. C语言例3-38:强制类型转换的例子

    2024-03-23 09:52:01       22 阅读
  5. Vue3中的reactive与ref

    2024-03-23 09:52:01       18 阅读