LeetCode之Assign Cookies
来源:互联网 发布:源码云平台 编辑:程序博客网 时间:2024/06/01 07:34
本题的题意是有m个小孩,每个小孩都有一个对饼干大小(cookie)的最小需求量;同时,有n块饼干,每块饼干都有自己的大小;每个小孩最多只能分得一块饼干;最后,求能够得到满足的孩子的最大数量。
我采用贪心算法来解此题。首先,将代表孩子们的最小需求量的数组和代表饼干大小的数组进行升序排序;然后,按序遍历每一个孩子的最小需求量,对每一个最小需求量,选取当前未被分配的饼干中最小且能够满足当前孩子的需求量的饼干进行分配,直到为每个孩子都分配了饼干或者最大的饼干也无法满足当前的需求量时返回结果,结果就是得到满足的孩子的数量,并且这个数量是最大的。
class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { if (g.empty() || s.empty()) {return 0;}/*for (int i = 0; i < g.size() - 1; ++i) {int k = i;for (int j = k + 1; j < g.size(); ++j) {if (g[k] > g[j]) {k = j;}}int temp = g[i];g[i] = g[k];g[k] = temp;}*//*for (int i = 0; i < s.size() - 1; ++i) {int k = i;for (int j = k + 1; j < s.size(); ++j) {if (s[k] > s[j]) {k = j;}}int temp = s[i];s[i] = s[k];s[k] = temp;}*/sort(g.begin(), g.end());sort(s.begin(), s.end());int i = 0;for (int j = 0; i < g.size() && j < s.size(); ++i, ++j) {while (j < s.size() && g[i] > s[j]) {++j;}if (j == s.size()) {break;}}return i; }};
0 0
- LeetCode之Assign Cookies
- LeetCode之路:455. Assign Cookies
- LeetCode 455. Assign Cookies
- Leetcode-455. Assign Cookies
- LeetCode 455. Assign Cookies
- 【LeetCode】455. Assign Cookies
- leetcode 455. Assign Cookies
- LeetCode(455)Assign Cookies
- Leetcode 455 Assign Cookies
- 455. [LeetCode]Assign Cookies
- [leetcode] 455. Assign Cookies
- [LeetCode-455]Assign Cookies
- Leetcode 455 Assign Cookies
- LeetCode -- Assign Cookies
- 【LeetCode】 455. Assign Cookies
- Leetcode Assign Cookies
- LeetCode题解:Assign Cookies
- [LeetCode]455. Assign Cookies
- Dubbo基于Zookeeper实现分布式服务:Dubbo+Zookeeper+Spring整合应用
- 蓝桥杯-分糖果
- 百度地图
- 使用字符流读写数据
- Power View in 2016Excel
- LeetCode之Assign Cookies
- android studio 中 .9.png的制作
- 【543 Diameter of Binary Tree】深度优先搜素思维运用
- Design Pattern(11)-Iterator Pattern
- Android的性能优化方法
- wxPython sizer放置窗口部件
- Fragment学习小结
- [刷题]Codeforces 746G
- IT类的专业有哪些