找出数组中第k大的数
给定一个数组,找出数组中第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大的数相关推荐
- Java找出数组中第K大的数
题目描述 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5 ...
- 找出数组中第k大小的数,输出数所在的位置
找出数组中第k大小的数,输出数所在的位置 /*写一段程序,找出数组中第k大小的数,输出数所在的位置.例如{2,4,3,4,7}中,第一大的数是7,位置在4. 第二大.第三大的数都是4,位置在1.3随便 ...
- 【leetcode】找出数组的第k大的数
用快排,原始的快排 def quick_sort(nums,l,r):if l<=r:returntmp = nums[0]while l<r: while l<r and nums ...
- 寻找数组中第k大的数
题目:有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5,2 ...
- 找出数组中第k大和第m大的数字之和
找出数组中第k大和第m大的数字之和 说明:定义一个函数,接受三个参数getMaxNumber(array,k,m){},找出第k大和第m大的数字之和.重复的数组也需要计算 比如:[1,3,4,5,4, ...
- 找出数组中出现次数超过一半的数
算法--找出数组中出现次数超过一半的数 每当我看到经典的算法题,就怀念高中,感觉很多算法题就是高中的题目,谁叫哥只读了个专科,高数基本相当没学. 有空要看看高数啊,想当年数学那是相 ...
- Leetcode215数组中第k大的数-最小堆
题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出 ...
- java查找第k大的数字_查找数组中第k大的数
问题: 查找出一给定数组中第k大的数.例如[3,2,7,1,8,9,6,5,4],第1大的数是9,第2大的数是8-- 思考:1. 直接从大到小排序,排好序后,第k大的数就是arr[k-1]. 2. ...
- python实现查找数组中第k大的数
本文用python3实现查找数组中第k大的数.采用快速排序的方法实现. def findKth(s, k):return findKth_c(s, 0, len(s) - 1, k)def findK ...
最新文章
- python操作系统-Python操作系统
- SpringMVC 运行原理及主要组件
- P2820 局域网(最小生成树)
- linux令普通用户拥有root权限
- ServletContextListener 启动SPRING加载数据到缓存的应用
- Jmeter学习(一)
- 【一】如果让我学习TensorFlow,我该怎么学?
- Android选项卡TabHost功能和用法
- AI 人工智能学习之泰勒公式与拉格朗日乘数法
- 3D优化之ShadowGun系列二:浓烟,使用面片模拟粒子效果
- Oracle数据库update用法总结
- 计算机设计大赛参赛作品——疫情看板
- 大小写字母ASCII码对照表
- 捋一捋Vue构造函数
- 《东周列国志》第二十九回 晋惠公大诛群臣 管夷吾病榻论相
- 三星自定义状态栏_三星s9状态栏隐藏方法,三星s9状态栏隐藏小技巧
- 论文参考文献中括号+数字转上标
- 数据分析-PART3--数据分析常用指标
- 实例 | 分析38万条数据,用Python分析保险产品交叉销售和哪些因素有关
- 快速重装win10系统