一、题目
二、代码实现
方法:贪心算法
解题思路:由于分配饼干这件事前后的步骤不会产生关联,所以根据贪心算法的原理,分配的最优策略是每次分配只关注未分配饼干的最小胃口的小朋友
class Solution {
public int findContentChildren(int[] g, int[] s) {
if(g == null || s == null) return 0;
Arrays.sort(g);
Arrays.sort(s);
int gi = 0,si = 0;
while(gi < g.length && si < s.length){
if(g[gi] <= s[si]) gi++;
si++;
}
return gi;
}
}
执行结果:
执行用时 :8 ms, 在所有 Java 提交中击败了97.68%的用户
内存消耗 :41.9 MB, 在所有 Java 提交中击败了5.03%的用户
时间复杂度:O(n*log(n))
空间复杂度:O(n)