当我回答Leetcode问题时,我发现了这样的代码
class Solution {
public:
int twoCitySchedCost(vector<vector<int>>& costs) {
sort(costs.begin(), costs.end(), [](const vector<int>& A, const vector<int>& B) {
return A[0] - A[1] < B[0] - B[1];
});
int midPoint = costs.size() / 2;
int sum{};
for (int i{}; i < costs.size(); i++) {
if (i < midPoint) {
sum += costs[i][0];
} else {
sum += costs[i][1];
}
}
return sum;
}
};
我不知道sort(costs.begin(), costs.end(), [](const vector<int>& A, const vector<int>& B)
的工作方式,它做什么。
我只知道排序功能需要在最后一个参数处输入比较有趣点