题解 | #查找第K小数#

查找第K小数

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

//查找一个数组的第K小的数,注意同样大小算一样大。 如  2 1 3 4 5 2 第三小数为3。、
#include<stdio.h>
#define maxsize 100
void swap(int a[], int x, int y) {
    int temp = a[x];
    a[x] = a[y];
    a[y] = temp;
}

void sort(int a[], int n) {
    int i, j;
    for ( i = 0; i < n - 1; i++) //冒泡趟数 从小到大
        for ( j = 0; j < n - 1 - i; j++)
            if (a[j] > a[j + 1])
                swap(a, j, j + 1);
}



int main() {
    int n, m, i, j, a[maxsize];
    while (scanf("%d", &n) != EOF) {
        for (i = 0; i < n; i++)
            scanf("%d", &a[i]);
        sort(a, n); //>>>>>>>>>>>>>>>>>>>0 ~ n-1
        scanf("%d", &m);
        for (i = 1, j = 1; i < n; i++) {
            if (a[i] > a[i - 1]) {
                j++;
                if (j == m) {
                    printf("%d", a[i]);
                    break;
                }
            }
        }







    }

    return 0;
}

全部评论

相关推荐

06-13 15:45
辽宁大学 golang
咱就是说&nbsp;你不主动&nbsp;我也不会主动下一步hhh,急死了
恶龙战士:不建议把这种帖子发到牛客上,建议去小红书发
点赞 评论 收藏
分享
点赞 评论 收藏
分享
nus22016021404:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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