Leetcode 455 分发饼干

题意理解

        小孩的饭量: [1,2,7,10]

        饼的大小:     [1,3,5,7]

        当饼的大小>=小孩饭量时,小孩就能够吃饱。

        求如何分配饼让更多的小孩子能够吃饱。

解题思路

        两种思路:

        先把胃口小的孩子用较小的饼来喂饱——保证更多的小孩能吃饱

        先把大饼为给胃口较大且能吃饱的孩子——保证更多的小孩能吃饱

        局部最优——每个饼,给刚好能吃饱又不会剩太多的孩子——【全局最优】更多小孩能吃饱

1.贪心解题

小饼给小孩

   public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int result=0;
        int g_index=0;
        //小饼给小孩-遍历饼
        for(int i=0;i<s.length;i++){
            while(g_index<g.length&&g[g_index]<=s[i]){
                result++;
                g_index++;
                break;
            }
        }
        return result;
    }

大饼给大孩

public int findContentChildren2(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int result=0;
        int s_index=s.length-1;
        //大饼给大孩-遍历孩
        for(int i=g.length-1;i>=0;i--){
            if(s_index>=0&&g[i]<=s[s_index]){
                result++;
                s_index--;
            }
        }
        return result;
    }

2.分析

时间复杂度:O(m+n+log(m)+log(n))

空间复杂度:O(log(m)+log(n))

排序的时间复杂度:O(log(n))

遍历的时间复杂度:O(n)

排序的额外空间开销:O(log(n))

两个数组的长度分别为m,n

相关推荐

  1. LeetCode--455.分发饼干

    2023-12-16 12:54:01       55 阅读
  2. leetcode 455.分发饼干

    2023-12-16 12:54:01       38 阅读
  3. 455.分发饼干

    2023-12-16 12:54:01       29 阅读
  4. C++ 455. 分发饼干

    2023-12-16 12:54:01       24 阅读
  5. leetcode题解C++】455.分发饼干 and 376.摆动序列

    2023-12-16 12:54:01       57 阅读
  6. 力扣(leetcode)第455分发饼干(Python)

    2023-12-16 12:54:01       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-16 12:54:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-16 12:54:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-16 12:54:01       82 阅读
  4. Python语言-面向对象

    2023-12-16 12:54:01       91 阅读

热门阅读

  1. 屈臣氏中国销售业务转型

    2023-12-16 12:54:01       63 阅读
  2. 我的创作纪念日

    2023-12-16 12:54:01       69 阅读
  3. Kotlin 中的作用域函数

    2023-12-16 12:54:01       60 阅读
  4. 牛客后端开发面试题3

    2023-12-16 12:54:01       58 阅读
  5. 设计模式的应用——《职责链模式》

    2023-12-16 12:54:01       50 阅读
  6. react之useContext全局状态管理

    2023-12-16 12:54:01       69 阅读
  7. 软件测试面试中基础与功能的问题

    2023-12-16 12:54:01       49 阅读
  8. opencv一些报错的解决方案

    2023-12-16 12:54:01       57 阅读
  9. 飞天使-docker知识点7-docker-compose与namespaces

    2023-12-16 12:54:01       56 阅读
  10. LeetCode 每日一题(Hard) Day 11||单调栈

    2023-12-16 12:54:01       55 阅读
  11. 使用Python编写简单的文本编辑器

    2023-12-16 12:54:01       58 阅读
  12. PostgreSql 设置自增字段

    2023-12-16 12:54:01       72 阅读
  13. Python中的列表与数组

    2023-12-16 12:54:01       65 阅读
  14. 使用Python将HTML快速转换成PDF

    2023-12-16 12:54:01       63 阅读