【西交ACM】298 第N大的数
【西交ACM】298 第N大的数
http://202.117.21.117/xjoj/problem_html/298.htmlDescription
Input
Output
Sample Input
2 4 2 1 2 8 7 7 5 87 136 769 178 85 55 974
Sample Output
7 87 使用快速排序,输出指定项就可以了。
1 //author:pz 2 3 import java.util.Scanner; 4 5 public class Main{ 6 public static void main(String[] args) { 7 //int[] arr = {1,4,7,2,5,8,3,6,9}; 8 Scanner sc =new Scanner(System.in); 9 int t = sc.nextInt(); 10 for(int i = 0; i < t; i ++){ 11 int n = sc.nextInt(); 12 int k = sc.nextInt(); 13 int[] arr = new int[100]; 14 for(int j = 0; j < n; j ++){ 15 arr[j] = sc.nextInt(); 16 } 17 quickSort(arr); 18 // printArray(arr); 19 System.out.println(arr[arr.length - k]); 20 } 21 22 } 23 24 public static void printArray(int[] array){ 25 System.out.println("arr: "); 26 for(int i : array){ 27 System.out.print(i + ", "); 28 } 29 System.out.println(); 30 } 31 32 public static void quickSort(int[] a) { 33 quickSort(a, 0, a.length - 1); 34 } 35 36 private static void quickSort(int[] a, int start, int end) { 37 int left = start; 38 int right = end - 1; 39 int pivot = a[end]; 40 41 while (left < right) { 42 if (a[left] <= pivot) { 43 left++; 44 continue; 45 } 46 if (a[right] > pivot) { 47 right--; 48 continue; 49 } 50 swap(a, left++, right); 51 } 52 53 if (a[left] < pivot) { 54 left++; 55 } 56 swap(a, left, end); 57 58 if(left - 1 > start) { 59 quickSort(a, start, left - 1); 60 } 61 if(left + 1 < end) { 62 quickSort(a, left + 1, end); 63 } 64 } 65 66 private static void swap(int[] a, int i, int right) { 67 // TODO Auto-generated method stub 68 int temp = a[i]; 69 a[i] = a[right]; 70 a[right] = temp; 71 } 72 }
转载于:https://www.cnblogs.com/pengzheng/archive/2013/04/18/3027746.html
【西交ACM】298 第N大的数相关推荐
- 【西交ACM】100 A+B problem
[西交ACM]100 A+B problem http://202.117.21.117/xjoj/problem_html/100.html 最简单的程序. Description give y ...
- 2021届保研经验贴—北邮,西交,武大,中科院,厦大,南开
目录 一.本人情况 二.夏令营 1.南开大学计算机学院 2. 山东大学软件学院 3. 中科院网络信息中心 二.预推免 1.西交姚班 2.厦大计算机 3.浙软 4.武大遥感学院 5.武大网安 5.北交计 ...
- 2021年武大CS\南大CS\哈工CS\浙软\西交CS\天大佐治亚CS\中科院信网中心面试经验贴
本人基本情况: 学校:中部某985 专业:计算机科学与技术 英语:四级 620+,六级590+,托福91 竞赛:2个国一,1个国二,1个省一,一项省级大创 科研:实验室学习半年,进项目组半年,无论文 ...
- 【2021末九软工边缘人保研】川大-中科院网络中心-华师夏令营+哈工大本-中科院网络中心-西交-厦大-中山-武大-北航预推免
2021末九软件工程边缘人保研经历全记录 一.写在前面 二.个人背景 三.夏令营经历 1.川大计算机(软件)学院夏令营 2.华师大软件"高可信"夏令营 3.中科院计算机网络信息中心 ...
- 疫情之下的保研实录--川大,华科,浙大工学院,西交软院,浙软
前几天刚收到了浙大软院的录取,保研总算告一段落了.在疫情和出国难的大背景下,"内卷"成了保研人中最流行的词汇.由于今年实在太过特殊,本文中的经验可能并不完全适用,但是内核是一样的. ...
- 浙江大学计算机与机械工程,中国26所“机械工程”大学经调整、合并,浙大、西交、同济升级...
在国内理工科知名大学的人才培养体系中,机械工程专业的报考热度持续稳定在高位.众所周知,机械工程是工学研究生教育一级学科,工程研究生教育一个领域,是一门涉及利用物理定律为机械系统作分析.设计.制造及维修 ...
- 2020预推免经验总结:浙大计算机直博,西交计算机直博,北理工网络空间安全,天大计算机,西工大计算机......
今年的预推免终于浩浩荡荡落下了帷幕,我是从九月份入学后开始慢慢准备预推免的,紧紧张张忙碌了大概一个多月的时间,今天终于有时间好好总结一下. 去处:浙江大学计算机直博 暑假的时候拿到了西工大和北交的of ...
- 2020北航,南大软院,计算所夏令营,北邮,西交人机所预推免记录
#2020北航,南大软院,计算所夏令营,北邮,西交人机所预推免记录 北航夏令营流程 大致情况 北航夏令营一共就两天,节奏非常的快.有大约600个人入营,最后170人左右优营.600个人里,应该还有不少 ...
- 计算机保研经验(中科大、北航、成电、西交、南大)
计算机保研经验(中科大.北航.成电.西交.南大) 目录 计算机保研经验(中科大.北航.成电.西交.南大) 前言 一.本人简介 二.投递与结果 三.时间线 四.夏令营具体细节 1.中科大 老师 面试 2 ...
最新文章
- 2021-04-06 neo4j Service stop failed - service ‘neo4j’ not found 请问怎么解决?
- 第1章 1.9计算机网络概述--OSI参考模型和网络安全
- 阅读JavaScript高级程序设计(第二版)笔记
- php查询一对多,PHP并输出一对多结果
- ext 解析后台返回response.responseText中的数据
- startActivity流程(上)
- docker 删除镜像时报错Error response from daemon: conflict: unable to delete xxx (must be forced) -
- php自定义请求headers,php通过header发送自定义数据方法
- linux内核双向链表学习
- SetTimer函数总结
- Centos安装交叉编译工具链
- java链表实现多项式的运算
- 智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人
- What is Drilldown configuration
- 51中程序存储器和数据存储器
- 讯飞AIUI智能机器人2
- 图片的轮播(轮播图)
- 测试系统导出Excel无法打开
- 对IBL的specular部分的思考
- 域名系统就是域名服务器吗,域名系统五个服务器有什么区别吗