腾讯技术面试题及答案参考.docxVIP

  • 4
  • 0
  • 约5.2千字
  • 约 15页
  • 2025-12-30 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年腾讯技术面试题及答案参考

一、编程题(共5题,每题20分,总分100分)

1.数组旋转(20分)

题目:给定一个数组`nums`和一个整数`k`,将数组向右旋转`k`步。例如,输入`[1,2,3,4,5,6,7]`和`k=3`,输出`[5,6,7,1,2,3,4]`。

要求:时间复杂度O(n),空间复杂度O(1)。

答案:

cpp

includevector

includealgorithm

voidrotate(std::vectorintnums,intk){

intn=nums.size();

if(n==0)return;

k=k%n;//处理k大于n的情况

std::reverse(nums.begin(),nums.end());//先反转整个数组

std::reverse(nums.begin(),nums.begin()+k);//反转前k个元素

std::reverse(nums.begin()+k,nums.end());//反转剩余元素

}

解析:

-通过三次反转实现数组旋转:先反转整个数组,再反转前k个元素,最后反转剩余元素。

-时间复杂度:O(n),空间复杂度:O(1)。

2.字符串匹配(20分)

题目:实现一个函数`

文档评论(0)

1亿VIP精品文档

相关文档