1 条题解

  • 0
    @ 2026-10-25 15:22:53

    思路

    保留重复元素的前k大;堆、排序或快速选择均可求解。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){int n,k;cin>>n;vector<int>a(n);for(int &x:a)cin>>x;cin>>k;priority_queue<int,vector<int>,greater<int>>q;for(int x:a){q.push(x);if((int)q.size()>k)q.pop();}vector<int>out;while(!q.empty()){out.push_back(q.top());q.pop();}for(auto it=out.rbegin();it!=out.rend();it++)cout<<*it<<'\n';}
    
    • 1

    信息

    ID
    1139
    时间
    1000ms
    内存
    64MiB
    难度
    普及−
    标签
    递交数
    1
    已通过
    1
    上传者