1、题目

有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。

测试样例: [1,3,5,2,2],5,3
返回:2

2、基本思想

本文中不考虑优化算法,直接使用快排算法对数据先进行排序,然后返回排序好的第K大数据。有优化算法的给出方案。

2、解决方案

import java.util.*;public class Finder {public int findKth(int[] a, int n, int K) {// write code herereturn F_QuickSort(a,0,n-1)[n-K];}public static int[] F_QuickSort(int data[], int l, int r) {if (l < r)  {    int i = l, j = r, x = data[l];  while (i < j)  {  while(i < j && data[j] >= x) // 从右向左找第一个小于x的数  j--;//找到后,将这个数赋值给i的位置,并将i向后移动位置if(i < j)   data[i++] = data[j];  while(i < j && data[i] < x) // 从左向右找第一个大于等于x的数  i++; //找到后,将这个数赋值给j的位置,并将j向前移动1位if(i < j)            data[j--] = data[i];  }  data[i] = x;  F_QuickSort(data, l, i - 1); // 递归调用   F_QuickSort(data, i + 1, r);  }return data;}
}

网易2016实习研发工程师编程题——寻找第K大相关推荐

  1. 网易2016 实习研发工程师 [编程题]寻找第K大 and leetcode 215. Kth Largest Element in an Array...

    传送门 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5, ...

  2. 比较重量 网易2016实习研发工程师编程题

    题目: 小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪颗 ...

  3. 网易16年研发实习生笔试题 - 寻找第K大

    ### 问题 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 输入样例 [1,3, ...

  4. 网易2016研发工程师编程题--完全解析

    前言 之前做公司的真题,碰到动态规划,还有一些数学性质的题目比较多一点.网易2016研发工程师编程题跟之前做的题目有很大的不同,不仅涉及到二叉树的编码,还涉及到图的广度遍历,最后还有一个快排.可以说这 ...

  5. 牛客网--蘑菇街2016研发工程师编程题

    牛客网--蘑菇街2016研发工程师编程题 第一题: 搬圆桌 时间限制:1秒 空间限制:32768K 现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1).每次移动一步 ...

  6. [C++日常小题] 寻找第k大数字(numberk)

    Description 经过长时间的筹备工作,在Jourk,Ronny,Plipala,阿长,阿沈等人的努力下,DM实验室建立起自己的系列网站,其中包括三个大板块:DMOJ首页.DMOJ论坛.DMOJ ...

  7. 股票交易日(动态规划)----美团2016研发工程师编程题(二)

    [编程题] 股票交易日 在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行).给出一天中的股票变化序列,请写一个程序计算 ...

  8. 血型遗传检测(pair原来没有先后顺序)----去哪儿2016研发工程师编程题

    [编程题] 5-血型遗传检测 血型遗传对照表如下: 父母血型 子女会出现的血型 子女不会出现的血型 O与O O A,B,AB A与O A,O B,AB A与A A,O B,AB A与B A,B,AB, ...

  9. 网易2016实习研发笔试

    小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪颗更重. ...

最新文章

  1. 排序 时间倒序_经典排序算法之冒泡排序(Bubble Sort)
  2. 演讲实录 | DevOps五大理念及其落地实践
  3. 第二届中国云计算与SaaS学术会议征文通知
  4. hi3559 h264
  5. Oracle inline view 简介
  6. oauth2.0里回调地址返回code中如何让code不显示在URL里?
  7. Date Picker和UITool Bar的使用
  8. 如何创建newsstand应用程序
  9. 卡特兰数 HDU2067 HDU4165 HDU1134
  10. python 仪表盘_如何使用Python刮除仪表板
  11. CSS框架+响应式设计
  12. rhel5.5下安装oracle10g报libXp.so.6错误
  13. 文档服务器备份吗,本地资料和云服务器备份吗
  14. 关于css布局的定位问题
  15. oracle 汉字转五笔码,芈月传的芈字怎么打?用五笔拆解并输入方法图解
  16. 3次根号计算机在线应用,根号计算器,三次根号计算器
  17. 斗地主中的提示出牌算法(Lua)
  18. c#向pdf插入图片,使用iTextSharp【实测成功】
  19. JMF环境配置(Eclipse)
  20. 已知一条斜边,求直角三角形的另外两条边

热门文章

  1. java进阶基础---2.3---IO流的概念及示例
  2. word2016论文不同章节设置页眉页码方法
  3. 《东周列国志》第一回 周宣王闻谣轻杀 杜大夫化厉鸣冤
  4. matlab 定时器timercallback,matlab定时器timer的用法,特别要注意回调函数的参数!...
  5. Excel VBA 字典/数组 示例
  6. 二分查找算法python实现_Python实现-二分查找算法(3种方法)
  7. 《C++大学教程》学习笔记(九)
  8. 大学计算机基础方案一,《大学计算机基础》实验实施方案-学生用汇.docx
  9. 港版支付宝上线,支付宝和微信海外大战谁的胜算更大?
  10. 移植boa服务器和错误指南