- 3
- 0
- 约7.95千字
- 约 19页
- 2026-02-03 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年腾讯技术经理招聘面试指南及答案
一、编程能力测试(5题,每题10分,共50分)
1.题目:
请实现一个函数`topKFrequent(nums,k)`,输入一个整数数组`nums`和一个正整数`k`,返回数组中出现频率最高的`k`个数字。要求时间复杂度为O(nlogk),空间复杂度为O(n)。
答案:
python
fromcollectionsimportCounter
importheapq
deftopKFrequent(nums,k):
统计每个数字出现的频率
count=Counter(nums)
使用小顶堆维护频率最高的k个元素
heap=[]
fornum,freqincount.items():
heapq.heappush(heap,(freq,num))
iflen(heap)k:
heapq.heappop(heap)
提取结果并排序
return[numforfreq,numinsorted(heap,reverse=True)]
解析:
-使用`Counter`统计数组中每个数字的频率,时间复杂度为O(n)。
-使用小顶堆(优先队列)维护频率最高的`k`个元素,每次插入时如果堆大小超过`k`则弹出最小元素,
您可能关注的文档
最近下载
- 拔牙位点保存技术的实验研究的任务书.docx VIP
- 2026年山西通用航空职业技术学院单招综合素质考试题库附答案.docx VIP
- Photoshop 2022中文版案例教程(第3版)李涛_全套课件.pdf VIP
- 2026年山西通用航空职业技术学院单招综合素质考试题库附答案.docx VIP
- 拔牙位点保存.ppt VIP
- (高清版)B-T 9441-2021 球墨铸铁金相检验.pdf VIP
- 烟台栖霞飞灰炉渣综合利用项目环评报告书.pdf VIP
- 2026年山西通用航空职业技术学院单招综合素质考试题库参考答案详解.docx VIP
- 国卫医政发〔2026〕21号《医疗机构麻醉药品和精神药品管理规定》培训课件.pptx VIP
- (北师大版2024)八年级英语上册新教材解读课件.pptx
原创力文档

文档评论(0)