题解 | #寻找大富翁# 快排模板
寻找大富翁
https://www.nowcoder.com/practice/38131e23663746a992581d45f16e7a86
#include <iostream>
using namespace std;
const int N = 100010;
int m, n;
int a[N];
void quick_sort(int q[], int l, int r)
{
if(l >= r) return;
int x = q[l], j = l;
for(int i = j + 1; i <= r; i++)
if(q[i] > x) swap(q[++j], q[i]);
swap(q[l], q[j]);
quick_sort(q, l, j - 1);
quick_sort(q, j + 1, r);
}
int main() {
while(cin >> n >> m && n && m)
{
for(int i = 0; i <n ; i++) scanf("%d", &a[i]);
quick_sort(a, 0 ,n -1);
if(n <= m)
{
for(int i = 0; i < n; i++) printf("%d ", a[i]);
continue;
}
for(int i = 0; i < m; i++) cout << a[i] << " ";
cout << endl;
}
}

查看1道真题和解析