1 条题解

  • 0
    @ 2026-1-29 16:48:50
    #include<bits/stdc++.h>
    using namespace std;
    
    // [1] 存储N个小朋友写的数字(数组大小满足N≤1000的要求)
    int arr[100100];
    // [2] n为小朋友的数量,k为要查找的第K大的数的位置
    int n,k; 
    
    int main() {
        cin>>n>>k; // [3] 输入小朋友数量n和目标位置k
        // [4] 循环读取n个数字并存储到数组
        for(int i=0;i<n;i++){
            cin>>arr[i];
        }
        sort(arr,arr+n); // [5] 对数组进行升序排序
        // [6] 倒序遍历数组,寻找第K大的数
        for(int i=n-1;i>=0;i--){
            // [7] 当倒序的计数等于k时,当前元素即为第K大的数
            if(n-i==k){
            	cout<<arr[i];
    		}
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1159
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    4
    已通过
    2
    上传者