本文用python3实现查找数组中第k大的数。采用快速排序的方法实现。


def findKth(s, k):return findKth_c(s, 0, len(s) - 1, k)def findKth_c(s, low, high, k):m = partition(s, low, high)if m == len(s) - k:return s[m]elif m < len(s) - k:return findKth_c(s, m+1, high, k)else:return findKth_c(s, low, m-1, k)def partition(s, low, high):pivot, j = s[low], lowfor i in range(low + 1, high + 1):if s[i] <= pivot:j += 1s[i], s[j] = s[j], s[i]s[j], s[low] = s[low], s[j]return jfor _ in range(int(input())):s = list(map(int, input().split()))k = int(input())print(findKth(s, k))

测试用例:

python实现查找数组中第k大的数相关推荐

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

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

  2. 找出数组中第k大的数

    给定一个数组,找出数组中第k大的数.其实现代码如下: package com.threeTop.www;/*** 找出数组中第k大的数* @author wjgs**/ public class Fi ...

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

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

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

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

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

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

  6. 寻找无序数组中第k大的数

    对于一个无序的数组,怎样找到其中第k大的数呢?下面总结几种方法. 1.直接排序法 使用常见的归并排序.堆排序等算法对数组进行排序,然后找到第k大的数.排序算法的时间复杂度为O(nlogn),所以算法总 ...

  7. 算法12--topK求一个数组中第k大的数

    求一个数组中第k大的值 解法一: 建立一个k个元素的最大堆,首先将数组中前k个元素放入堆中,此时堆顶元素为第k大的元素,后面继续遍历数组,比较堆顶元素与数组中元素值,当数组中元素小于堆顶元素时,将堆顶 ...

  8. python查找第k大的数_寻找数组中第K大的数

    给定一个数组A,要求找到数组A中第K大的数字.对于这个问题,解决方案有不少,此处我只给出三种: 方法1: 对数组A进行排序,然后遍历一遍就可以找到第K大的数字.该方法的时间复杂度为O(N*logN) ...

  9. java查找第k大的数字_[经典算法题]寻找数组中第K大的数的方法总结

    今天看算法分析是,看到一个这样的问题,就是在一堆数据中查找到第k个大的值. 名称是:设计一组N个数,确定其中第k个最大值,这是一个选择问题,当然,解决这个问题的方法很多,本人在网上搜索了一番,查找到以 ...

最新文章

  1. 如何确定敏捷是否适合你的团队?
  2. 性能不打折,内存占用减少90%,Facebook提出极致模型压缩方法Quant-Noise
  3. Android.bp 语法浅析-Android10.0编译系统(八)
  4. eclipse 自动生成代码
  5. python3 requests 不进行编码 直接发送的方法
  6. 【Kotlin】扩展接收者 与 分发接收者 ( 类内部扩展用法 | 注意事项 | open 修饰扩展 )
  7. 孩子不是笨,他和“最强大脑”差的是这个!
  8. gateway坑点:gateway有Controller时会直接处理对应的路径并返回
  9. python访问oracle_用Python操作Oracle
  10. java子线程切换到主线程_Android子线程切换到UI线程方法总结
  11. Kotlin 官方参考文档 中文版_kotlin-reference-chinese.pdf
  12. 近期计算机病毒爆发,最新警示!最新电脑病毒全面爆发,沉寂已久的incaseformat蠕虫病毒肆虐横行!...
  13. python代码画樱花-如何用Python代码实现樱花树效果
  14. 量化投资和主观投资到底有什么区别?
  15. 上证指数30年k线图_上证指数历史k线图_k线图24种经典图解
  16. Java 的守护线程是什么情况?
  17. 狗跳高案例和学生老师案例(继承,抽象类,接口)
  18. win10命令窗口在哪里
  19. 大学生都在哪里看大学课后习题答案
  20. EAUML日拱一卒-微信小程序实战:位置闹铃 (13)-使用类优化程序结构

热门文章

  1. JAVA平台及其开发环境
  2. 安卓旅游酒店导游酒店机票预订app_Android studio毕业设计as原生java
  3. 考研二战日记-第36天小结
  4. termux目录_Termux打造Android渗透机
  5. 联想企业网盘助力石油石化建设办公协作平台
  6. 用树莓派改装电风扇及实现Android遥控
  7. 论文阅读笔记:Covariate Shift: A Review and Analysis on Classifiers
  8. 解决ThinkPHP3.2 将Debug 关闭 设置为False 报页面错误 请稍后再试
  9. SAP财务系统中的“复式记账法”
  10. python pycurl_Python的pycurl包用法简介