题意:给两个数组,g、s,求满足gi >= si的最大个数。
思路:排序后逐个比较。
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
std::sort(g.begin(), g.end());
std::sort(s.begin(), s.end());
int i = 0;
int j = 0;
int re = 0;
while(i < g.size() && j < s.size()) {
if(g[i] <= s[j]) {
re ++;
i ++;
j ++;
}
else {
j ++;
}
}
return re;
}
};

本文介绍了一个经典的分配问题解决方法,即通过将两个数组分别排序后,遍历并匹配尽可能多的符合条件的元素对,以此来求解最多可以满足多少个条件的算法实现。
1144

被折叠的 条评论
为什么被折叠?



