如何使用快速排序的思想从有重复数据的数据中找出第k大的元素,
例如[9,8,8,7,7,6,5,4,3]中第3大的元素是7。
有大佬知道怎么求解吗?
全部评论
快排但是不要取两边都做,只做一边就好
4 回复 分享
发布于 2022-03-27 22:05
leetcode215,高频考题
3 回复 分享
发布于 2022-04-11 12:08
快选算法,topK经典题了
2 回复 分享
发布于 2022-04-08 21:46
个人觉得堆排序简单,构造出堆就行了
2 回复 分享
发布于 2022-03-31 00:21
快速排序, 第一次将数据分为【left,mid】[mid,right] ,如果【left,mid】中的数据个数等于k ,此时mid就是第k 大的数 如果【left,mid】中的数据个数小于k ,从[mid,right]中找到第k-【left,right】大的数 如果【left,mid】中的数据大于k ,从【left,mid】中找到第k 大的数
1 回复 分享
发布于 2022-04-24 14:49
最小堆
1 回复 分享
发布于 2022-04-15 10:47
改一下快速选择算法就好了,在快速选择的过程中维护一个变量记录前面有多少个去重后的数
1 回复 分享
发布于 2022-04-10 12:44
快排和堆都可以,我个人比较推荐堆
1 回复 分享
发布于 2022-04-08 16:20
了解一下快速选择算法,只做一遍就好了,说白了其实就是对树做了剪枝
1 回复 分享
发布于 2022-03-31 17:34
快排,每次你能知道pivot的位置,pivot的位置比k大就去排后面,否则排前面,直到pivot=k为止
1 回复 分享
发布于 2022-03-27 18:55
先去重在排序就好了呀
1 回复 分享
发布于 2022-03-27 17:26
建议用最大堆,取到相同的元素不累减k就好
9 回复 分享
发布于 2022-03-29 16:50
快速选择
点赞 回复 分享
发布于 2022-05-22 10:13
你想想,快排 第一趟 跑出来 就能得知有几个大数,有几个小数了
点赞 回复 分享
发布于 2022-05-06 12:55
去重快速选择
点赞 回复 分享
发布于 2022-05-05 23:50
我只能想到快排后从左往右去一遍重,也就再遍历一遍,复杂度也不高。看评论区感觉好多人没注意到是去重后的第k大。
点赞 回复 分享
发布于 2022-05-03 09:12
快排复杂度可以到On
点赞 回复 分享
发布于 2022-04-26 11:04
快速选择,算法导论讲过。我之前面试被面试官要求证明复杂度🤣
点赞 回复 分享
发布于 2022-04-23 23:59
堆排序,重复的不算就好了
点赞 回复 分享
发布于 2022-04-21 10:18
用堆排序
点赞 回复 分享
发布于 2022-04-21 01:38

相关推荐

不愿透露姓名的神秘牛友
04-30 17:45
本人简历上 1 个 RAG 项目 + 1 个 Agent demo;这次面的是AI岗一面前我以为:背完八股 + 把项目讲清楚,应该能稳过。0-5 min:自我介绍 + 项目背景- 顺利。讲清楚了我的 RAG 是给法律咨询场景做的,痛点是大模型不懂行业术语。5-20 min:项目深挖(开始崩)- Q1:你的法律文档总共多少?切了多少个 chunk?- 我:约 500 份 PDF,5 万个 chunk- Q2:500 份 PDF 加起来才 5 万 chunk?平均每份 100 个 chunk,你切片粒度是多少?- 我:512 token- Q3:法律文档里"第三条第二款"和"第三条之二"是不同含义,你的切片会不会把它切散?- 我:(沉默 5 秒)……应该会- Q4:那你怎么解决?- 我:我可以加一个 metadata……(开始编)❌ 第一次崩:切片粒度没考虑业务语义。20-35 min:评测体系(继续崩)- Q:你怎么知道你的 RAG 有效?- 我:我用 Recall@5……- Q:评测集多少条?怎么构造的?- 我:100 条,我手工标注的- Q:100 条够吗?分布怎么样?- 我:分布……我没分- Q:那你的 Recall@5 是 0.81,你怎么知道这个数字是好是坏?baseline 是什么?- 我:(沉默 10 秒)❌ 第二次崩:没有 baseline,没分布分析,纯靠"看起来还行"。35-55 min:Agent 部分(彻底崩)- Q:你的 Agent demo 用了几个工具?- 我:3 个,搜索、计算器、文档查询- Q:当用户问一个问题,你的 Agent 怎么决定调哪个工具?- 我:用 ReAct,让模型自己决定- Q:模型决策错了怎么办?- 我:我加了个 reflection……- Q:reflection 失败 3 次后怎么处理?- 我:(沉默 15 秒)……我没想过❌ 第三次崩:异常路径完全没设计。55-65 min:业务理解 + 反问- Q:你觉得字节做 AI 应用最大的瓶颈是什么?- 我:算力?数据?- Q:你看过哪些字节最近发的 AI 产品?- 我:豆包、扣子……- Q:扣子是 Agent 平台还是工作流平台?- 我:(再次沉默)❌ 第四次崩:对面试公司业务一无所知。
面试官拷打AI项目都会问...
点赞 评论 收藏
分享
评论
8
21
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务