2026年腾讯公司各部门面试题详解及答案.docxVIP

  • 1
  • 0
  • 约8.22千字
  • 约 24页
  • 2026-02-10 发布于福建
  • 举报

2026年腾讯公司各部门面试题详解及答案.docx

第PAGE页共NUMPAGES页

2026年腾讯公司各部门面试题详解及答案

一、编程题(共3题,每题15分,总分45分)

1.编程题1(15分):字符串反转

题目:

给定一个字符串`s`,请原地反转字符串中的每个单词,单词之间由单个空格分隔。不能使用额外的存储空间,只能原地修改字符串。

示例:

输入:`theskyisblue`

输出:`blueisskythe`

要求:

-时间复杂度:O(n)

-空间复杂度:O(1)

答案:

cpp

voidreverseWords(chars){

if(s==NULL)return;

//首先反转整个字符串

intlen=strlen(s);

inti=0,j=len-1;

while(ij){

swap(s[i],s[j]);

i++,j--;

}

//然后反转每个单词

i=0;

while(ilen){

if(s[i]==){

i++;

continue;

}

intj=i;

while(jlens[j]!=){

j++;

}

reverse(s+i,s+j-1);

i=j;

}

}

解析:

-第一步反转整个字符串,将所有单词的顺序和字符顺序都反转。

-第二步遍历字符串,找到每个单词的起始和结束位置,然后反转单个单词。

-时间复杂度:O(n),因为每个字符被访问两次(一次整体反转,一次单词反转)。

-空间复杂度:O(1),仅使用常数个额外变量。

2.编程题2(15分):滑动窗口最大值

题目:

给定一个数组`nums`和一个整数`k`,请找到长度为`k`的连续子数组中最大的元素。

示例:

输入:`nums=[1,3,-1,-3,5,3,6,7]`,k=3

输出:`[3,3,5,5,6,7]`

要求:

-时间复杂度:O(n)

-空间复杂度:O(k)

答案:

python

fromcollectionsimportdeque

defmaxSlidingWindow(nums,k):

ifnotnumsork==0:

return[]

q=deque()

result=[]

foriinrange(len(nums)):

移除队列中不在窗口内的元素

ifqandq[0]i-k+1:

q.popleft()

移除队列中比当前元素小的元素

whileqandnums[q[-1]]nums[i]:

q.pop()

q.append(i)

当窗口长度达到k时,队列头部即为最大值

ifi=k-1:

result.append(nums[q[0]])

returnresult

解析:

-使用双端队列维护当前窗口的最大值,队列中存储的是元素的索引。

-每次遍历新元素时,先移除队列中不在窗口内的元素。

-然后移除队列中比当前元素小的元素,因为它们不可能成为后续窗口的最大值。

-队列头部始终是当前窗口的最大值,当窗口长度达到k时,将头部元素加入结果。

-时间复杂度:O(n),每个元素被加入和移除队列各一次。

-空间复杂度:O(k),队列最多存储k个元素。

3.编程题3(15分):LRU缓存

题目:

设计LRU(LeastRecentlyUsed)缓存,支持以下操作:

-`LRU(intcapacity)`:初始化缓存容量为`capacity`。

-`get(intkey)`:如果键存在,返回其值,并将其设为最近最常用;如果不存在,返回-1。

-`put(intkey,intvalue)`:如果键存在,更新其值并设为最近最常用;如果不存在,插入键值对。如果缓存已满,则删除最近最不常用的键。

示例:

cpp

LRU(2)

put(1,1)

put(2,2)

get(1)//返回1

put(3,3)//去除键2

get(2)//返回-1(未找到)

put(4,4)//去除键1

get(1)//返回-1(未找到)

get(3)//返回3

get(4)//返回4

要求:

-时间复杂度:O(1)

-空间复杂度:O(capacity)

答案:

python

classListNode:

def__init__(self,key=0,value=0):

self.key=key

self.value=value

self.prev=None

self.next=None

classLRUCache:

def__init__(self,c

文档评论(0)

1亿VIP精品文档

相关文档