给定一个数组,找出数组中第k大的数。其实现代码如下:

package com.threeTop.www;/*** 找出数组中第k大的数* @author wjgs**/
public class FindK {public static void find(int[]array,int begin,int end,int k){int i=partition(array,begin,end);if(i+1>k){//左半部分,递归查找find(array,begin,i-1,k);}else if(i+1<k){//右半部分,递归查找find(array,i+1,end,k);}else{System.out.println("找到了第"+k+"大的数为:"+array[i]);return;}}/*** 每轮快速排序* @param array* @param begin* @param end* @return*/private static int partition(int[] array, int begin, int end) {if(begin<end){  //第一个数作为基准int key=array[begin];while(begin<end){while(begin<end&&array[end]>key){end--;}if(begin<end){array[begin]=array[end];begin++;}while(begin<end&&array[begin]<key){begin++;}if(begin<end){array[end]=array[begin];end--;}}array[begin]=key;}return begin;}public static void main(String[] args) {int []array={1,5,7,9,2,4,6,8,10,12,11,14,15,13};FindK.find(array, 0,array.length-1, 8);}}

找出数组中第k大的数相关推荐

  1. Java找出数组中第K大的数

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

  2. 找出数组中第k大小的数,输出数所在的位置

    找出数组中第k大小的数,输出数所在的位置 /*写一段程序,找出数组中第k大小的数,输出数所在的位置.例如{2,4,3,4,7}中,第一大的数是7,位置在4. 第二大.第三大的数都是4,位置在1.3随便 ...

  3. 【leetcode】找出数组的第k大的数

    用快排,原始的快排 def quick_sort(nums,l,r):if l<=r:returntmp = nums[0]while l<r: while l<r and nums ...

  4. 寻找数组中第k大的数

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

  5. 找出数组中第k大和第m大的数字之和

    找出数组中第k大和第m大的数字之和 说明:定义一个函数,接受三个参数getMaxNumber(array,k,m){},找出第k大和第m大的数字之和.重复的数组也需要计算 比如:[1,3,4,5,4, ...

  6. 找出数组中出现次数超过一半的数

    算法--找出数组中出现次数超过一半的数      每当我看到经典的算法题,就怀念高中,感觉很多算法题就是高中的题目,谁叫哥只读了个专科,高数基本相当没学.      有空要看看高数啊,想当年数学那是相 ...

  7. Leetcode215数组中第k大的数-最小堆

    题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出 ...

  8. java查找第k大的数字_查找数组中第k大的数

    问题:  查找出一给定数组中第k大的数.例如[3,2,7,1,8,9,6,5,4],第1大的数是9,第2大的数是8-- 思考:1. 直接从大到小排序,排好序后,第k大的数就是arr[k-1]. 2. ...

  9. python实现查找数组中第k大的数

    本文用python3实现查找数组中第k大的数.采用快速排序的方法实现. def findKth(s, k):return findKth_c(s, 0, len(s) - 1, k)def findK ...

最新文章

  1. python操作系统-Python操作系统
  2. SpringMVC 运行原理及主要组件
  3. P2820 局域网(最小生成树)
  4. linux令普通用户拥有root权限
  5. ServletContextListener 启动SPRING加载数据到缓存的应用
  6. Jmeter学习(一)
  7. 【一】如果让我学习TensorFlow,我该怎么学?
  8. Android选项卡TabHost功能和用法
  9. AI 人工智能学习之泰勒公式与拉格朗日乘数法
  10. 3D优化之ShadowGun系列二:浓烟,使用面片模拟粒子效果
  11. Oracle数据库update用法总结
  12. 计算机设计大赛参赛作品——疫情看板
  13. 大小写字母ASCII码对照表
  14. 捋一捋Vue构造函数
  15. 《东周列国志》第二十九回 晋惠公大诛群臣 管夷吾病榻论相
  16. 三星自定义状态栏_三星s9状态栏隐藏方法,三星s9状态栏隐藏小技巧
  17. 论文参考文献中括号+数字转上标
  18. 数据分析-PART3--数据分析常用指标
  19. 实例 | 分析38万条数据,用Python分析保险产品交叉销售和哪些因素有关
  20. 快速重装win10系统

热门文章

  1. 乡村的诱惑 淘宝下乡开辟新战场
  2. 相对全面的四足机器人驱动规划MATLAB和Simulink实现方式(足端摆线规划,Hopf-CPG,Kimura-CPG)
  3. 蓝牙传输文件,如何知道进度和传输完成
  4. 教你STM32做USB鼠标、键盘
  5. 大疆文档(7)-Android教程-地图视图和航点App
  6. SQL Server 2005与SQL Server 2008 的区别
  7. ChinaNet网络拓扑结构
  8. flink-connector-starrocks 问题记录
  9. Claude2完全免费!GPT4 强劲竞争对手来了
  10. 学习c++的第一天,如有不妥之处请见谅