代码随想录
两个数组先排序,倒着看最大的cookie能满足的孩子,向前计数。
Python:
class Solution:
def findContentChildren(self, g: List[int], s: List[int]) -> int:
g.sort()
s.sort()
i = len(g)-1
j = len(s)-1
result = 0
while j>=0 and i>=0:
if s[j]>=g[i]:
result += 1
j -= 1
i -= 1
return result
C++:
C++版本用i--实现也算简洁。
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int result=0;
int i = g.size()-1;
int j = s.size()-1;
for (int i=g.size()-1; i>=0; i--) {
if (j>=0 && s[j]>=g[i]) {
result++;
j--;
}
}
return result;
}
};