C6-3 数组第K小数
来源:互联网 发布:matlab2013a软件激活 编辑:程序博客网 时间:2024/05/29 21:16
C6-3 数组第K小数
(100/100 分数)
题目描述
输入描述
输出描述
样例输入
样例输出
给定一个整数数组a[0,...,n-1],求数组中第k小数
输入描述
首先输入数组长度n和k,其中1<=n<=5000, 1<=k<=n
然后输出n个整形元素,每个数的范围[1, 5000]
输出描述
该数组中第k小数
样例输入
4 21 2 3 4
样例输出
2
注释
#include <iostream>#include <vector>using namespace std;void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}int Partition(vector<int> &array,int low,int high){int pivot=array[low];while(low<high){while(low<high&&array[low]<=array[high]) high--;swap(array[low],array[high]);while(low<high&&array[low]<=array[high]) low++;swap(array[high],array[low]);}array[high]=pivot;return high;}void QuickSort(vector<int> &array,int low,int high){if(low<high){int pivot=Partition(array,low,high);QuickSort(array,low,pivot-1);QuickSort(array,pivot+1,high);}return;}int main(){int n,k;cin>>n;if(n<0||n>5000) return false;cin>>k;if(k<0||k>n) return false;vector<int>array(n);for(int i=0;i<n;i++){cin>>array[i];if(array[i]<-5000||array[i]>5000) return false;}QuickSort(array,0,n-1);cout<<array[k-1]<<endl;return 0;}快排了一下,应该有效率更高的算法
0 0
- C6-3 数组第K小数
- 数组数组求第K小数
- HDU-2852-树状数组+第k小数
- 两个有序数组,求第K小数
- 第k小数
- 第K小数
- 第k小数
- 第k小数
- whuoj1574 第K小数
- 第k小数
- 第K小数
- 第K小数
- 第K小数
- xmu1166求第k小数 树状数组/线段树
- POJ-2761-树状数组+第k小数+离散化
- ZOJ-3612-树状数组+第k小数+离散化
- HDU2852 大于a的第k小数-树状数组
- 第K(大)小数
- DelayQueue 实现简单的定时任务
- Oracle触发器示例
- mysql 用户角色权限表建立
- angularJS+html+Spring+Mybatis
- iOS导入自定义字体,艺术字体
- C6-3 数组第K小数
- poj3469 Dual Core CPU
- ELK kibana 常见问题及ES时区问题
- 用opencv将左右眼视角图片转换为红蓝3D图片
- 算法提高 寻找三位数
- JMS(Java消息服务)入门教程
- thinkphp excel 上传 下载 个人任务实例
- 原子变量与CAS算法小结
- 设计模式之6大原则