方法一:
int compInc(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
int findContentChildren(int* g, int gSize, int* s, int sSize) {
int i, j, count = 0, a = 0;
qsort(g, gSize, sizeof(g[0]), compInc);
qsort(s, sSize, sizeof(s[0]), compInc);
for (i = 0; i < gSize; i++)
for (j = a; j < sSize; j++)
if (g[i] <= s[j])
{
count++;
a = j + 1;//机制
break;
}
return count;
}
方法二:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(),g.end());
sort(s.begin(),s.end());
int i=g.size()-1, j=s.size()-1,count = 0;
while(i>=0 && j>=0)
{
if(g[i]>s[j]) i--;
else if(g[i--]<=s[j--]) count++;
}
return count;
}