首页 > 试题广场 >

整数无序数组求第K大数

[编程题]整数无序数组求第K大数
  • 热度指数:4366 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定无序整数序列,求其中第K大的数,例如{45,67,33,21},第2大数为45

输入描述:
输入第一行为整数序列,数字用空格分隔,如:45 67 33 21
输入第二行一个整数K,K在数组长度范围内,如:2


输出描述:
输出第K大的数,本例为第2大数:45
示例1

输入

45 67 33 21
2

输出

45
头像 ╭(′•o•′)╭☞就是这个人!
发表于 2021-05-11 22:40:09
import java.util.Comparator; import java.util.PriorityQueue; import  java.util.Scanner; import java.util.*; public clas 展开全文
头像 bandiaoz
发表于 2024-12-26 16:36:56
解题思路 这是一道经典的第 大数问题,有多种解法: 排序法: 将数组排序后直接返回第 大的数 时间复杂度 空间复杂度 快速选择法(最优解): 基于快速排序的思想 每次只需要处理一半的数据 时间复杂度 空间复杂度 堆排序法: 维护一个大小为 的小顶堆 时间复杂度 展开全文

热门推荐

通过挑战的用户

查看代码
整数无序数组求第K大数