首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
寻找一数组中前K个最大的数
[问答题]
寻找一数组中前K个最大的数
添加笔记
求解答(0)
邀请回答
收藏(18)
分享
纠错
13个回答
添加回答
5
Chrety
典型的区间第k大(小)问题,***树直接做
发表于 2019-05-28 16:26:42
回复(0)
1
yfsm
把前k个数建成最小堆,然后将栈顶元素与剩余的比较,如果大于,则交换,并调整最小堆,重复这个过程
发表于 2019-05-07 09:23:34
回复(0)
1
正在努力學習码砖的王小飝
经典的topk问题 比较好的方法是用堆排序的思想,先建成前k个数的最大堆,然后把堆顶元素与剩下的数比较,如果发现了大于堆顶的数就把堆顶元素和该数交换,然后再调整成最大堆,直到遍历结束,这种方法时间复杂度是n×logk,而冒泡等直接遍历的时间复杂度是n×n 还有一种更好的方法是快排的思想,有兴趣的自己去看
发表于 2019-03-11 13:23:12
回复(1)
1
22too
选出K个值,排序,找出最小值,新数字如果大余最小的。删除换最小值。排序。重复。
发表于 2019-01-05 16:25:41
回复(0)
0
孙~
int max, k ,i; for(i=0; i++; i<k-1>a[i+1]) max=a[i]; }</k-1>
发表于 2019-04-17 22:38:03
回复(0)
0
SHOW我的天下
先给数组从大到小排序,取k个数
发表于 2019-03-21 08:26:49
回复(0)
0
afreak
冒泡排序
发表于 2019-03-14 23:22:16
回复(0)
0
Zthhhhh
冒泡排序k趟
发表于 2019-03-09 12:38:10
回复(0)
0
牛客892554号
传入数组和k,用冒泡排序遍历k个数,
发表于 2019-03-07 09:26:44
回复(0)
0
typedefi
冒泡排序思路: ①外层循环初始为0,判断结束条件为数组的末尾,步进递增1 ②内层循环初始条件为外层循环+1,判断结束条件为数组末尾,步进递增1 ③判断外内层循环索引小于外层循环,实现交换
发表于 2019-02-23 22:24:44
回复(0)
0
革新瓦斯
最大堆
发表于 2019-01-15 16:18:20
回复(0)
0
爱喝白开水
用选择排序只走k趟,后k个数遍对应前k大的数
发表于 2018-12-30 23:20:54
回复(0)
0
大飞1994
遍历0-k的值,用冒泡排序
发表于 2018-12-24 00:07:55
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
数组
测试工程师
Java工程师
上传者:
小小
难度:
13条回答
18收藏
4947浏览
热门推荐
相关试题
数据链路层滑动窗口机制中发送窗口(...
网络基础
评论
(1)
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
用一种动物介绍你自己
通用能力
评论
(1)
对于小红书,创作者和粉丝之间互相不...
需求分析
评论
(1)
请你说几个海量数据存储常见问题以及...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题