网站建设上传视频教程,网站建设 常用字体,深圳网站制作公司售后,免费做调查的网站有哪些题目#xff1a;
假设你是一位很棒的家长#xff0c;想要给你的孩子们一些小饼干。但是#xff0c;每个孩子最多只能给一块饼干。
对每个孩子 i#xff0c;都有一个胃口值 g[i]#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸#xff1b;并且每块饼干 j#xff0c…题目
假设你是一位很棒的家长想要给你的孩子们一些小饼干。但是每个孩子最多只能给一块饼干。
对每个孩子 i都有一个胃口值 g[i]这是能让孩子们满足胃口的饼干的最小尺寸并且每块饼干 j都有一个尺寸 s[j] 。如果 s[j] g[i]我们可以将这个饼干 j 分配给孩子 i 这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子并输出这个最大数值。
示例
示例 1:
输入: g [1,2,3], s [1,1]
输出: 1
解释:
你有三个孩子和两块小饼干3个孩子的胃口值分别是1,2,3。
虽然你有两块小饼干由于他们的尺寸都是1你只能让胃口值是1的孩子满足。
所以你应该输出1。示例 2:
输入: g [1,2], s [1,2,3]
输出: 2
解释:
你有两个孩子和三块小饼干2个孩子的胃口值分别是1,2。
你拥有的饼干数量和尺寸都足以让所有孩子满足。
所以你应该输出2.
思路
饼干大小 s[j] 胃口大小 g[j] 就可以分发饼干。
把饼干和胃口都从大到小排序针对饼干遍历 胃口。则大饼干满足大胃口。遍历到 任一个遍历完为止。
贪心大饼干满足大胃口
代码
class Solution {
public:int findContentChildren(vectorint g, vectorint s) {sort(g.begin(), g.end(), greaterint());sort(s.begin(), s.end(), greaterint());int i 0, j 0;int cnt 0;while (i g.size() j s.size()) {if (s[j] g[i]) {i;j;cnt;continue;}else {i;}}return cnt;}
};