饼干分配

(编程实现) 饼干分配 假设你是一位家长,你想要给你的孩子们一些饼干,你只能给一个孩子最多一块饼干. 每 个孩子 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; 

   }

猜你喜欢

转载自blog.csdn.net/weixin_43821874/article/details/94737387
今日推荐