2026年腾讯公司技术岗面试全攻略及答案.docxVIP

  • 0
  • 0
  • 约7.26千字
  • 约 19页
  • 2026-01-05 发布于福建
  • 举报

2026年腾讯公司技术岗面试全攻略及答案.docx

第PAGE页共NUMPAGES页

2026年腾讯公司技术岗面试全攻略及答案

一、编程能力测试(共5题,每题20分,总分100分)

题目1(算法设计题,20分):

设计一个函数,实现字符串的压缩。输入一个字符串,其中包含字母和空格,输出压缩后的字符串。压缩规则如下:

1.连续的相同字符视为一个字符,例如aaabcc压缩为a3b2c2。

2.如果压缩后的字符串长度不小于原字符串长度,则返回原字符串。

3.输入字符串为空或只包含空格时,返回空字符串。

答案与解析:

python

defcompress_string(s:str)-str:

ifnots.strip():

return

compressed=[]

count=1

foriinrange(1,len(s)):

ifs[i]==s[i-1]:

count+=1

else:

compressed.append(s[i-1]+str(count))

count=1

compressed.append(s[-1]+str(count))

return.join(compressed)iflen(compressed)2len(s)elses

解析:

1.首先判断输入字符串是否为空或只包含空格,如果是,直接返回空字符串。

2.使用`count`变量统计连续字符的数量,遍历字符串时,如果当前字符与前一字符相同,则`count`加1;否则,将前一字符和`count`添加到`compressed`列表中,并重置`count`为1。

3.最后将最后一个字符和`count`添加到`compressed`列表中,然后判断压缩后的字符串长度是否小于原字符串长度,如果是,返回压缩后的字符串;否则,返回原字符串。

题目2(数据结构题,20分):

给定一个无重复元素的数组,请实现一个函数,找到数组中所有和为特定目标值的三元组。例如,输入`[1,2,3,4,5]`和目标值`7`,输出`[[1,2,4],[1,3,3]]`。

答案与解析:

python

defthree_sum(nums:list,target:int)-list:

nums.sort()

result=[]

foriinrange(len(nums)-2):

ifi0andnums[i]==nums[i-1]:

continue

left,right=i+1,len(nums)-1

whileleftright:

total=nums[i]+nums[left]+nums[right]

iftotal==target:

result.append([nums[i],nums[left],nums[right]])

whileleftrightandnums[left]==nums[left+1]:

left+=1

whileleftrightandnums[right]==nums[right-1]:

right-=1

left+=1

right-=1

eliftotaltarget:

left+=1

else:

right-=1

returnresult

解析:

1.首先对数组进行排序,便于使用双指针法。

2.遍历数组,对于每个元素`nums[i]`,使用双指针`left`和`right`分别从`i+1`和`nums`末尾开始查找,计算三数之和。

3.如果三数之和等于目标值,则将三元组添加到结果列表中,并移动指针以避免重复。

4.如果三数之和小于目标值,则左指针右移;否则,右指针左移。

题目3(动态规划题,20分):

给定一个包含非负整数的数组,请实现一个函数,返回从数组任意位置开始,通过相邻数字相加可以到达的最多和。例如,输入`[1,2,3,-1,5]`,输出`9`(路径为`1+2+3+5`)。

答案与解析:

python

defmax_path_sum(nums:list)-int:

ifnotnums:

return0

max_sum=nums[0]

current_sum=nums[0]

foriinrange(1,len(nums)):

current_sum=max(nums[i],current_sum+nums[i])

max_sum=max(max_sum,current_sum)

returnmax_sum

解析:

1.使用`max_sum`记录最大和,`curr

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档