题目:
我的解法:排序
class Solution {
public int findContentChildren(int[] g, int[] s) {
int max = 0;
boolean have = false;
Arrays.sort(g);
Arrays.sort(s);
for(int i=0; i<g.length; i++){
int start = 0;
for(int j=start; j<s.length; j++){
// 如果有满足条件的饼干,则max加1,当前饼干值设为0,下次起始点设为j+1
if(s[j] >= g[i]){
max++;
s[j] = 0;
start = j+1;
have = true;
break;
}
}
// 通过引入一个boolean变量进行剪枝,如果这一轮都没有饼干可以满足,则后面的无需在遍历
if(!have){
break;
}
}
return max;
}
}
官方题解: