签到题I

 题解:最后点时间又犯二了.....看到题,果断python用set去了一波重,错了我还找不到原因....等了十多分钟结束后看别人的,我觉得没问题啊,在仔细一看,都没用set,直接排序,突然明白了,错误原因:这道题并非要求是去重后的第k小,而是有序的第k小!!所以我觉得题意描述有问题,重复的一样大,不应该占一个位置,例如 1 1 2 2 3 3 找第三小的数,按照题意应该是3,而这里的确实2。迷醉~

c++:

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n,k,a[100010];
   cin>>n>>k;
    for(int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    cout<<a[k-1]<<endl;
    return 0;
}

python:

n,k=map(int,input().split())
a=sorted(list(map(int,input().split())))
print(a[k-1])
发布了395 篇原创文章 · 获赞 126 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/memory_qianxiao/article/details/90115921