这个问题一直困扰这我就是这个 C++ sort 函数的自定义排序
如今天的每日:
class Solution {
public:
vector<int> frequencySort(vector<int>& nums) {
map<int, int> cnt;
for (int x : nums) cnt[x]++;
sort(nums.begin(), nums.end(), [&](int a, int b) {
if (cnt[a] == cnt[b]) return a > b;
return cnt[a] < cnt[b];
});
return nums;
}
};还有排二维数组 (凭记忆写的,不知道对不)
前按升序后按降序
vector<vector<int>> arr(100,vector<int>(2));
sort(arr.begin(),arr.end()),[](const vector<int>& arr1,const vector<int>& arr2){
return arr1[0]==arr2[0]?arr1[1]>arr2[1]:arr1[0]<arr2[0];
})这是C++的那个知识点???????????????????
网上没有搜到