一、题目内容
二、题目分析
这道题目求的是最大的满足人数,而且饼干不能掰开。
所以我们可以将饼干和人的食量都从小到大排序。
然后两重for循环,都从0开始,如果第一块最小的饼干正好可以满足食量最小的那个人,那么就让满足人数加一,并且比较接下来一个人和接下来一块饼干,如果当前这块饼干不能满足当前这个人,那么它肯定也满足不了它之后的人,所以就直接跳过这块饼干,比较下一块更大的饼干和这个人的食量,以此类推,直到饼干没了或者人遍历完了,最后输出满足人数即可啦。
class Solution {
public int findContentChildren(int[] g, int[] s) {
int ans=0;
int j=0;
Arrays.sort(g);
Arrays.sort(s);
for(int i=0;i<g.length;)
{
for(;j<s.length;)
{
if(g[i]<=s[j])
{
ans++;
i++;
j++;
break;
}
else
{
j++;
}
}
if(j==s.length)
break;
}
return ans;
}
}
三、尾言
最近这两天运动会,今天去忙事了