leetcode饼干分配

(编程实现) 饼干分配 假设你是一位家长,你想要给你的孩子们一些饼干,你只能给一个孩子最多一块饼干. 每 个孩子 i 有一个贪婪因子 gi,gi 表示可以将这个满足孩子 i 的最小饼干尺寸. 每一块饼干 j 有各自的大小 sj,如果 sj ≥ gi 时,我们可以将饼干 j 分配给孩子 i,孩子 i 会被满足。 目标是最大化得到满足的孩子的数量并输出满足孩子的数量。

Example 1:

Input: 第一行贪婪因子,第二行饼干大小

1 2 3

1 1

Output:

1

Example 2:

Input: 1 2 

1 2 3

Output:

2

 

思路:想要去满足最多孩子的胃口,我们采取的策略是先对贪婪因子和饼干大小进行排序。然后从胃口最小的孩子开始,给他满足胃口的最小饼干。设置两个指针,one for the greedy ,one for the cookie size .

public int find(int[] greedy ,int[] cookies) {

      Arrays.sort(greedy);

      Arrays.sort(cookies);

      int ret = 0 ;

      for(int i = 0 , j = 0;i <greedy.length && j < cookies.length;) {

          if(greedy[i] <= cookies[j]) {

             i++;

             j++;

             ret++;

          }else {

             j++;

          }

      }

      return ret; 

   }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值