题解 | #查找第K小数#

查找第K小数

https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main(){
    int n, k;
    cin >> n;
    vector<int> arr(n);
    for(int i = 0; i < n; i++){
        cin >> arr[i];
    }
    cin >> k;
    vector<int> arr_copy(arr);
    sort(arr_copy.begin(), arr_copy.end());
    // 找第k小的数
    int count = 1; // 计数
    int index = 0; // 下标
    for(int i = 1; i < n; i++){
        if(arr_copy[i] > arr_copy[index]){
            index = i;
            count++;
            if(count == k) break;
        }
    }
    cout << arr_copy[index];
    return 0;
}

全部评论

相关推荐

美团 客服平台 薪资应该是后端算高的了,我们姑且称为nk了,给3w签字费
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务