【西交ACM】298   第N大的数

http://202.117.21.117/xjoj/problem_html/298.html

Description

一个简单问题,在一串数中找出第N大的数

Input

包含多组数据,第一行输入数据的组数T(<100);每组数据包含2行,第一行2个数N,K,N表示这组数据中一共有N个数,K表示要找的是第K大的数,1<=K<=N<=100;第二行就是N个数(0 - 1000)。

Output

一共T行,每行输出该组数据的第K大数。

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大的数相关推荐

  1. 【西交ACM】100 A+B problem

    [西交ACM]100   A+B problem http://202.117.21.117/xjoj/problem_html/100.html 最简单的程序. Description give y ...

  2. 2021届保研经验贴—北邮,西交,武大,中科院,厦大,南开

    目录 一.本人情况 二.夏令营 1.南开大学计算机学院 2. 山东大学软件学院 3. 中科院网络信息中心 二.预推免 1.西交姚班 2.厦大计算机 3.浙软 4.武大遥感学院 5.武大网安 5.北交计 ...

  3. 2021年武大CS\南大CS\哈工CS\浙软\西交CS\天大佐治亚CS\中科院信网中心面试经验贴

    本人基本情况: 学校:中部某985 专业:计算机科学与技术 英语:四级 620+,六级590+,托福91 竞赛:2个国一,1个国二,1个省一,一项省级大创 科研:实验室学习半年,进项目组半年,无论文 ...

  4. 【2021末九软工边缘人保研】川大-中科院网络中心-华师夏令营+哈工大本-中科院网络中心-西交-厦大-中山-武大-北航预推免

    2021末九软件工程边缘人保研经历全记录 一.写在前面 二.个人背景 三.夏令营经历 1.川大计算机(软件)学院夏令营 2.华师大软件"高可信"夏令营 3.中科院计算机网络信息中心 ...

  5. 疫情之下的保研实录--川大,华科,浙大工学院,西交软院,浙软

    前几天刚收到了浙大软院的录取,保研总算告一段落了.在疫情和出国难的大背景下,"内卷"成了保研人中最流行的词汇.由于今年实在太过特殊,本文中的经验可能并不完全适用,但是内核是一样的. ...

  6. 浙江大学计算机与机械工程,中国26所“机械工程”大学经调整、合并,浙大、西交、同济升级...

    在国内理工科知名大学的人才培养体系中,机械工程专业的报考热度持续稳定在高位.众所周知,机械工程是工学研究生教育一级学科,工程研究生教育一个领域,是一门涉及利用物理定律为机械系统作分析.设计.制造及维修 ...

  7. 2020预推免经验总结:浙大计算机直博,西交计算机直博,北理工网络空间安全,天大计算机,西工大计算机......

    今年的预推免终于浩浩荡荡落下了帷幕,我是从九月份入学后开始慢慢准备预推免的,紧紧张张忙碌了大概一个多月的时间,今天终于有时间好好总结一下. 去处:浙江大学计算机直博 暑假的时候拿到了西工大和北交的of ...

  8. 2020北航,南大软院,计算所夏令营,北邮,西交人机所预推免记录

    #2020北航,南大软院,计算所夏令营,北邮,西交人机所预推免记录 北航夏令营流程 大致情况 北航夏令营一共就两天,节奏非常的快.有大约600个人入营,最后170人左右优营.600个人里,应该还有不少 ...

  9. 计算机保研经验(中科大、北航、成电、西交、南大)

    计算机保研经验(中科大.北航.成电.西交.南大) 目录 计算机保研经验(中科大.北航.成电.西交.南大) 前言 一.本人简介 二.投递与结果 三.时间线 四.夏令营具体细节 1.中科大 老师 面试 2 ...

最新文章

  1. 2021-04-06 neo4j Service stop failed - service ‘neo4j’ not found 请问怎么解决?
  2. 第1章 1.9计算机网络概述--OSI参考模型和网络安全
  3. 阅读JavaScript高级程序设计(第二版)笔记
  4. php查询一对多,PHP并输出一对多结果
  5. ext 解析后台返回response.responseText中的数据
  6. startActivity流程(上)
  7. docker 删除镜像时报错Error response from daemon: conflict: unable to delete xxx (must be forced) -
  8. php自定义请求headers,php通过header发送自定义数据方法
  9. linux内核双向链表学习
  10. SetTimer函数总结
  11. Centos安装交叉编译工具链
  12. java链表实现多项式的运算
  13. 智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人
  14. What is Drilldown configuration
  15. 51中程序存储器和数据存储器
  16. 讯飞AIUI智能机器人2
  17. 图片的轮播(轮播图)
  18. 测试系统导出Excel无法打开
  19. 对IBL的specular部分的思考
  20. 域名系统就是域名服务器吗,域名系统五个服务器有什么区别吗

热门文章

  1. Tomcat企业级应用
  2. BIEE建模参考规范
  3. storyboard 如何用代码调用
  4. Linux下Bash入门学习笔记
  5. 初学spring(一)
  6. 二叉树路径应用举例(基于非递归后序遍历)
  7. SCSI 总线和协议
  8. 用DOS命令安装删除服务
  9. 产品「工具人」如何破局?
  10. 为什么产品经理这个行业装逼的人这么多?