455 分发饼干 leetcode

简介: 455 分发饼干 leetcode

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。


注意:


你可以假设胃口值为正。

一个小朋友最多只能拥有一块饼干。


示例 1:


输入: [1,2,3], [1,1]


输出: 1


解释:

你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。

虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。

所以你应该输出1。

示例 2:


输入: [1,2], [1,2,3]


输出: 2


解释:

你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。

你拥有的饼干数量和尺寸都足以让所有孩子满足。

所以你应该输出2.


   class Solution {

   public:

       int findContentChildren(vector<int>& g, vector<int>& s) {

          sort(g.begin(),g.end());

          sort(s.begin(),s.end());

           int child=0;

           int cooky=0;

           while(child<g.size()&&cooky<s.size())

           {

               if(s[cooky]>=g[child])//满足

                   child++;

               cooky++;

                 

           }return child;

       }

   };



先把孩子胃口与饼干排序。

需要饼干大于等于孩子的胃口才行。这里有两种选择,孩子选饼干,饼干选孩子。分析发现孩子连小的都装不下,更别提大的了。所以应该饼干选孩子,小的不行,大的上。所以饼干在从小到大移动时,不够(饼干下移,孩子等着),够了(孩子与饼干同时下移)

目录
相关文章
|
6天前
|
Java
leetcode-455:分发饼干
leetcode-455:分发饼干
31 0
|
8月前
455. 分发饼干
455. 分发饼干
22 0
|
6天前
|
算法
leetcode代码记录(分发饼干
leetcode代码记录(分发饼干
12 0
|
6天前
leetcode:455. 分发饼干
leetcode:455. 分发饼干
17 0
|
6天前
|
Java
leetcode-135:分发糖果
leetcode-135:分发糖果
27 0
|
12月前
|
程序员
【1024节日快乐!】LeetCode--分发饼干
【1024节日快乐!】LeetCode--分发饼干
58 0
|
定位技术
leetcode每日一题:455. 分发饼干
leetcode每日一题:455. 分发饼干
|
算法 定位技术
LeetCode:455. 分发饼干——贪心算法
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 贪心算法是在每个阶段选取局部最优解,最终得到全局最优解的一种思想。贪心算法与动态规划的思路相似,但贪心算法要在每个阶段选择最优解,而这个最优解不一定是全局最优解,贪心算法在某些情况并不能得到全局最优解。
|
算法
leetcode 135 分发糖果
leetcode 135 分发糖果
52 0
leetcode 135 分发糖果