455. Assign Cookies
2017-09-04 21:19
357 查看
455.Assign Cookies
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.
算法思路:
简单说来就是先给greed最大的分最大的cookie,如果分到了,count加1,再给剩下的greed最大的分剩下的最大的cookie;
如果greed最大的没有得到满足就略过,不分了,给剩下的greed最大的分,过分了啊!
所以,此处先将两个数组排序,默认应该是快排,再从后至前分配,算法消耗 2*nlogn +n = nlogn,复杂度为O(nlogn);
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int i = g.size()-1, j = s.size()-1;
int count = 0;
while(i>=0 && j>=0){
if(g[i] <= s[j]){
count++;
i--;
j--;
}else{
i--;
}
}
return count;
}
};
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.
算法思路:
简单说来就是先给greed最大的分最大的cookie,如果分到了,count加1,再给剩下的greed最大的分剩下的最大的cookie;
如果greed最大的没有得到满足就略过,不分了,给剩下的greed最大的分,过分了啊!
所以,此处先将两个数组排序,默认应该是快排,再从后至前分配,算法消耗 2*nlogn +n = nlogn,复杂度为O(nlogn);
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int i = g.size()-1, j = s.size()-1;
int count = 0;
while(i>=0 && j>=0){
if(g[i] <= s[j]){
count++;
i--;
j--;
}else{
i--;
}
}
return count;
}
};
相关文章推荐
- 455. Assign Cookies
- 455. Assign Cookies
- LeetCode 455 Assign Cookies
- 455. Assign Cookies
- 455. Assign Cookies
- leetcode-455-Assign Cookies
- 455. Assign Cookies
- Leetcode 455 Assign Cookies
- 455. Assign Cookies
- 455. Assign Cookies
- 455. Assign Cookies
- [Leetcode 455] Assign Cookies
- leetcode455. Assign Cookies
- 455. Assign Cookies
- LeetCode(455)Assign Cookies
- [LeetCode-455]Assign Cookies
- 455. Assign Cookies
- 455. Assign Cookies
- Leetcod-455_Assign Cookies (分饼干)-贪心算法-【C++】
- leetcode 455 Assign Cookies