腾讯技术经理招聘面试指南及答案.docxVIP

  • 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`则弹出最小元素,

文档评论(0)

1亿VIP精品文档

相关文档