九度oj 1371 最小的K个数(快排)
来源:互联网 发布:tv263网络电视 编辑:程序博客网 时间:2024/05/21 14:58
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:5196
解决:1096
- 题目描述:
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 输入:
每个测试案例包括2行:
第一行为2个整数n,k(1<=n,k<=200000),表示数组的长度。
第二行包含n个整数,表示这n个数,数组中的数的范围是[0,1000 000 000]。
- 输出:
对应每个测试案例,输出最小的k个数,并按从小到大顺序打印。
- 样例输入:
8 44 5 1 6 2 7 3 8
- 样例输出:
1 2 3 4
题目大意:给出n个数,输出最小的k个数思路:用快排排序,然后输出前k个数,要注意k>n的情况本来以为用快排会超时,要用堆排序,谁知道居然过了,在研究一下堆排序2015,1,5
#include<stdio.h>#include<algorithm>using namespace std;int a[210000];int main(){int n,k,i;while(scanf("%d%d",&n,&k)!=EOF){for(i=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n);if(n>k){for(i=0;i<k;i++){if(i!=k-1)printf("%d ",a[i]);else printf("%d\n",a[i]);}}else{for(i=0;i<n;i++){if(i!=n-1)printf("%d ",a[i]);else printf("%d\n",a[i]);}}}return 0;}
0 0
- 九度oj 1371 最小的K个数(快排)
- 九度OJ 题目1371:最小的K个数
- 九度OJ 1371 最小的K个数 -- 堆排序
- 九度OJ 1371 最小的K个数
- 九度OJ-题目1371:最小的K个数
- 九度oj-1371-最小的k个数
- 26.最小的K个数:快排应用
- 【剑指Offer面试编程题】题目1371:最小的K个数--九度OJ
- 找出无序数组最小的K个数(基于快排,效率高)
- 寻找数组中最小的k个数(快排和堆排)
- 寻找数组中最小的k个数(快排和堆排)
- 寻找数组中最小的k个数(快排和堆排)
- 题目1371:最小的K个数-九度
- 九度 题目1371:最小的K个数
- 九度_题目1371:最小的K个数
- 最小的K个数:二种思路:快排的精髓-----最大堆
- 剑指Offer面试题30最小的K个数(涉及堆或快排)
- 20170927_快排应用_数组中寻找最小的K个数
- 运算符重载相关 笔记
- Android 文件夹介绍
- UINavigationController backBarButtonItem设置
- 足驻鬃佐自祖佐综踪桩桌罪踪卓淄踪拽桩
- Android 文件件详细介绍
- 九度oj 1371 最小的K个数(快排)
- UML图 符号的含义
- 关于数的一些算法
- Add Binary----LeetCode
- Linux网桥的实现分析与使用
- 醉纂钻孜状邹邹昨锥转篆综谞追族祖嘴缀
- 庄宗诅子钻邹纂桩桩揍住专篆淄滓座专爪
- 负载均衡软件之Apache以及和tomcat整合
- 纵追宗孜仔滓灼咨庄孜撞着宗坠渍茁子谆