0
点赞
收藏
分享

微信扫一扫

问题 A: 寻找第K大的数

ZGtheGreat 2022-04-29 阅读 51
c++算法

题目描述

要求在N个不重复的整数中,找出第K大的整数 ,其中0<K<N<1000000

输入

输入第一行为两个正整数N   K
第二行为N个整数,输入保证这N个整数两两相异,每个整数的范围在-1000000到1000000之间

输出

输出第K大的整数值

样例输入 复制

5 3
3 2 4 5 1

样例输出 复制

3

提示

可以借鉴快速排序的思想,先划分,再确定查找范围

你说什么?stl?好的! 

sort()用法详见C++ sort()排序详解_AC-fun的博客-CSDN博客_c++ sort排序icon-default.png?t=M3K6https://blog.csdn.net/qq_41575507/article/details/105936466

#include<bits/stdc++.h>
using namespace std;
long long a[1000000];
int main(){
    long long n,k;
    cin>>n>>k;
    for(long long i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    sort(a,a+n-1);    //stl库函数,就是快排
    cout<<a[n-1-k];
}
举报

相关推荐

0 条评论