当前位置: 首页 > article >正文

贪心算法(7)(java) 分发饼干

题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸 s[j] 。如果 s [j] >= g[i],我们可以将这个饼干了分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

贪心策略:

排序,针对当前胃口最小的孩子,然后挑选饼干;

1.能满足,直接喂;

2.不能满足,直接删掉这个饼干;

import java.util.Arrays;

public class Solution {
    public int findContentChild(int[] g, int[] s) {
        Arrays.sort(g);//将孩子们的胃口从小到大排序
        Arrays.sort(s);//将饼干尺寸从小到大排序
        //排序
        int ret = 0, m = g.length, n = s.length;
        for (int i = 0, j = 0; i < m && j < n; i++, j++) {//双指针,i遍历孩子,j遍历饼干
            while (j < n && s[j] < g[j]) j++;
            if (j < n) ret++;
        }
        return ret;
    }

    public static void main(String[] args) {
        Solution solution=new Solution();
        int[] g1={1,2};
        int[] s1={1,2,3};
        System.out.println(solution.findContentChild(g1,s1));

    }
}


http://www.kler.cn/a/589657.html

相关文章:

  • C#语法基础总结
  • 蓝桥杯省赛(2024)
  • 如何创建HTML自定义元素:使用 Web Component 的最佳实践
  • 从零精通机器学习:线性回归入门
  • 书摘 ASP.NET Core技术内幕与项目实战:基于DDD与前后端分离
  • Flink 初体验:从 Hello World 到实时数据流处理
  • Chat2DB:让数据库管理像聊天一样简单
  • Windows 命令行终端常用的基础命令
  • RxSwift 学习笔记第四篇之RxSwift在项目中的简单应用
  • (C语言)指针与指针数组的使用教学(C语言基础教学)(指针教学)
  • Java中的消息中间件对比与解析:RocketMQ vs RabbitMQ
  • Matlab GPU加速技术
  • 蓝桥杯备赛(基础语法3)
  • 嵌入式八股,手撕线程池(C++)
  • vue3+Ts+elementPlus二次封装Table分页表格,表格内展示图片、switch开关、支持
  • 计算机图形学学习日志3
  • 数智读书笔记系列018 《多模态大模型:技术原理与实战》解锁多模态从原理到实战的深度探索
  • 3.14学习总结 排序算法
  • 高精度加法,高精度乘法,高精度除法,高精度减法,链表相加
  • 如何仅在conda中更新gcc版本