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;

       }

   };



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

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

目录
相关文章
|
7月前
|
Java
leetcode-455:分发饼干
leetcode-455:分发饼干
53 0
|
算法 测试技术 C++
C++算法:分发糖果
C++算法:分发糖果
|
4月前
|
存储 算法 Python
【面试题】分发糖果
【面试题】分发糖果
47 0
|
7月前
|
算法
leetcode代码记录(分发饼干
leetcode代码记录(分发饼干
46 0
|
7月前
leetcode:455. 分发饼干
leetcode:455. 分发饼干
37 0
|
7月前
|
Java
leetcode-135:分发糖果
leetcode-135:分发糖果
51 0
|
程序员
【1024节日快乐!】LeetCode--分发饼干
【1024节日快乐!】LeetCode--分发饼干
84 0
|
算法
leetcode 135 分发糖果
leetcode 135 分发糖果
74 0
leetcode 135 分发糖果