首页 > 其他 > 详细

LeetCode 455. Assign Cookies (分发曲奇饼干)

时间:2017-06-25 09:42:00      阅读:309      评论:0      收藏:0      [点我收藏+]

Assume you are an awesome parent and want to give your children some cookies. But, you should give each child at most one cookie. Each child i has a greed factor gi, which is the minimum size of a cookie that the child will be content with; and each cookie j has a size sj. If sj >= gi, we can assign the cookie j to the child i, and the child i will be content. Your goal is to maximize the number of your content children and output the maximum number.

Note:
You may assume the greed factor is always positive. 
You cannot assign more than one cookie to one child.

Example 1:

Input: [1,2,3], [1,1]

Output: 1

Explanation: You have 3 children and 2 cookies. The greed factors of 3 children are 1, 2, 3. 
And even though you have 2 cookies, since their size is both 1, you could only make the child whose greed factor is 1 content.
You need to output 1.

 

Example 2:

Input: [1,2], [1,2,3]

Output: 2

Explanation: You have 2 children and 3 cookies. The greed factors of 2 children are 1, 2. 
You have 3 cookies and their sizes are big enough to gratify all of the children, 
You need to output 2.

 

 


 
题目标签:Greedy
  这道题目给了我们两组array,一组代表小朋友的胃口值,另一组代表曲奇饼干的大小。我们要分发曲奇给尽可能多的小朋友,并且曲奇饼干的大小是可以满足小朋友的胃口的。
所以我们不能把大的曲奇去满足很小胃口的小朋友,除非没有选择。尽可能的去把小曲奇发给小胃口的小朋友。首先把两个array 重新排列,从小到大。然后遍历曲奇array,找到可以满足的小朋友,发给他曲奇,记住他的index,下次就直接从下一个小朋友开始找。
 
 

Java Solution:

Runtime beats 57.78% 

完成日期:06/24/2017

关键词:Greedy

关键点:把array重新排序

 


 

 

 1 public class Solution 
 2 {
 3     public int findContentChildren(int[] g, int[] s) 
 4     {
 5         int res = 0;
 6         int index_g = 0;
 7         Arrays.sort(g);
 8         Arrays.sort(s);
 9     
10         for(int i=0; i< s.length; i++)
11         {
12             if(s[i] >= g[index_g])
13             {
14                 res++;
15                 index_g++;
16                 
17                 if(index_g >= g.length)
18                     break;
19             }
20         }
21         
22         return res;
23     }
24 }

 

参考资料:N / A

 

 

LeetCode 455. Assign Cookies (分发曲奇饼干)

原文:http://www.cnblogs.com/jimmycheng/p/7075509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!