0%

3376.成绩排序2

题目

成绩排序2

思路

自定义 sort 排序

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <algorithm>

using namespace std;
const int N = 110;
int n;

int main(){
cin >> n;
vector<pair<int, int>> arr;
for(int i = 0; i < n; i ++){
int a, b;
cin >> a >> b;
arr.emplace_back(make_pair(a, b));
}
// 自定义排序
sort(arr.begin(), arr.end(), [](pair<int,int> &a, pair<int, int> &b){
if(a.second != b.second)
return a.second < b.second;
else
return a.first < b.first;
});
for(int i = 0; i < arr.size(); i++){
cout << arr[i].first << " " << arr[i].second << endl;
}
return 0;
}
  • 时间复杂度:O(n \ logn),其中 n* 是学生的个数
  • 空间复杂度:O(1)

执行用时:18 ms

内存消耗:220KB

通过测试用例:10/10

正在加载今日诗词....