做外贸网站多久更新,广州官网建设,杭州建设教育网站,如何查看一个网站是否备案分发饼干
Leetcode 455
学习记录自代码随想录
假设你是一位很棒的家长#xff0c;想要给你的孩子们一些小饼干。但是#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i#xff0c;都有一个胃口值 g[i]#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸#xff1…分发饼干
Leetcode 455
学习记录自代码随想录
假设你是一位很棒的家长想要给你的孩子们一些小饼干。但是每个孩子最多只能给一块饼干。 对每个孩子 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.
要点1.给两个数组排序 2.对小孩数组for循环大饼干先喂给大胃口然后递减 3.或者对饼干数组for循环小饼干喂给小胃口然后递增
方法一对小孩数组for循环大饼干先喂给大胃口然后递减
class Solution {
public:int findContentChildren(vectorint g, vectorint s) {int max_num 0;// 排序数组sort(g.begin(), g.end());sort(s.begin(), s.end());int s_index s.size() - 1;for(int i 1; i g.size(); i){if(s_index 0 s[s_index] g[g.size()-i]){max_num;s_index--;}else if(s_index 0){break;}else{continue;}}return max_num;}
};方法二对饼干数组for循环小饼干喂给小胃口然后递增
class Solution{
public:int findContentChildren(vectorint g, vectorint s){// int max_num 0;// 排序数组sort(g.begin(), g.end());sort(s.begin(), s.end());int g_index 0;for(int i 0; i s.size(); i){if(g_index g.size() s[i] g[g_index]){g_index;}}return g_index;}
};