中山大学算法课程题目详解(第六周)
2017-10-22 16:37
381 查看
问题描述:
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 contentExample 2:Input: [1,2], [1,2,3]Output: 2Explanation: 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.
解决思路:
利用快排分别对cookies的重量以及children的greed factor按照从小到大进行排序,对于cookies设置一个游标,表明该游标是上一个孩子得到cookies之后对应cookies的下一个,然后遍历所有的孩子,对于每个孩子,从cookies的当前游标开始往后搜索满足该孩子的cookies,如果找得到,count++并且重新设置游标的位置,以此类推,知道所有的孩子遍历完或者游标到达cookies的最后一个为止,输出count具体代码如下
class Solution {public:int findContentChildren(vector<int>& g, vector<int>& s) {int count = 0;sort(g.begin(), g.end());sort(s.begin(), s.end());int currentNum = 0;for (auto a : g) {for (; currentNum < s.size(); currentNum++) {if (s[currentNum] >= a) {count++;currentNum++;break;}}if (currentNum == s.size()) {break;}}return count;}};
相关文章推荐
- 中山大学算法课程题目详解(第十八周)
- 中山大学算法课程题目详解(第十六周)
- 中山大学算法课程题目详解(第四周)
- 中山大学算法课程题目详解(第十四周)
- 中山大学算法课程题目详解(第七周)
- 中山大学算法课程题目详解(第十七周)
- 中山大学算法课程题目详解(第一周)
- 中山大学算法课程题目详解(第十九周)NP问题
- 中山大学算法课程题目详解(第十三周)
- 中山大学算法课程题目详解(第十周)
- 中山大学算法课程题目详解(第十一周)
- 中山大学算法课程题目详解(第三周)
- 中山大学算法课程题目详解(第十二周)
- 中山大学算法课程题目详解(第五周)
- 中山大学算法课程题目详解(第十五周)
- 算法课程第六周Leetcode作业
- 算法分析与设计课程作业第六周#1
- 精选微软经典的算法面试100题(第1-20题) -代码详解(题目选自“结构之法”大侠的博客,答案都是本菜鸟自己做的)
- 【python数据挖掘课程】二十.KNN最近邻分类算法分析详解及平衡秤TXT数据集读取
- 被面试到的一则算法题目: 无序列数组里面,求最长的连续数的长度