zoukankan      html  css  js  c++  java
  • BUPT复试专题—找K小数(2011)

    https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd?tpId=67&tqId=29637&rp=0&ru=/kaoyan/retest/1005&qru=/ta/bupt-kaoyan/question-ranking

    题目描述

    查找一个数组的第K小的数,注意同样大小算一样大。 如  2 1 3 4 5 2 第三小数为3。

    输入描述:

    输入有多组数据。
    每组输入n,然后输入n个整数(1<=n<=1000),再输入k。

    输出描述:

    输出第k小的整数。
    示例1

    输入

    6
    2 1 3 5 2 2
    3


    统计题目
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<string.h>
    using namespace std;
    int donser(const void *a,const void *b)
    {
        return *(int *)b-*(int *)a;//反->大到小
    }
    int main()
    {
        int num,k;
        while(scanf("%d",&num)!=EOF)
        {
            int data[1001],i=0;
            while(i<num)
                scanf("%d",&data[i++]);
            scanf("%d",&k);
            qsort(data,num,sizeof(int),donser);
            while(1)
            {
                int temp=data[--num];
                while(temp==data[--num]);
                num++;
                if(k==1)
                {
                    cout<<data[num]<<endl;
                    break;
                }
                k--;
            }
        }
        return 0;
    }

    输出

    3
  • 相关阅读:
    vue $emit的使用
    flask config 环境变量配置
    get请求
    下载及安装
    测试用例写作
    系统测试
    测试方法
    软件质量
    测试基础
    子网掩码
  • 原文地址:https://www.cnblogs.com/dzzy/p/8260658.html
Copyright © 2011-2022 走看看