题解 | 查找第K小数

查找第K小数

https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd?tpId=67&tqId=29637&tPage=1&ru=%2Fkaoyan%2Fretest%2F1005&qru=%2Fta%2Fbupt-kaoyan%2Fquestion-ranking

#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;
//第K小的数
int main() {
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    int K;
    cin >> K;
    sort(arr, arr + n);
    int count = 0;
    for (int i = 0; i < n; i++) {
        if (arr[i] != arr[i + 1]) count++;
        if (count == K) cout << arr[i];
    }
    return 0;
}

定义一个变量count记录当前元素是第几小,只在排序后的数组元素前后不相等时,count++。

全部评论
点赞 回复 分享
发布于 2025-03-03 10:43 河北

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务