题目分析:
问题可以简化为s数组中的元素有多少个比g中的大。只要先将s与g中的元素各自排序,再依次进行比较就行了。
代码如下:
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
if(s.empty()||g.empty()) return 0;
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int i=0;
int j=0;
while(i<g.size()&&j<s.size()){
if(g[i]<=s[j]){
i++;
j++;
}
else
j++;
}
return i;
}
};