2026年腾讯软件开发工程师面试要点及答案.docxVIP

  • 2
  • 0
  • 约4.84千字
  • 约 16页
  • 2026-10-19 发布于福建
  • 举报

2026年腾讯软件开发工程师面试要点及答案.docx

第PAGE页共NUMPAGES页

2026年腾讯软件开发工程师面试要点及答案

一、编程基础(共5题,每题10分,总分50分)

1.题目:

实现一个函数,输入一个正整数`n`,返回`n`的阶乘。要求不使用递归,时间复杂度O(n)。

答案:

cpp

longlongfactorial(intn){

if(n==0)return1;

longlongresult=1;

for(inti=1;i=n;++i){

result=i;

}

returnresult;

}

解析:

阶乘计算本质是连续乘法,非递归实现通过循环逐层累乘即可。时间复杂度为O(n),空间复杂度为O(1)。注意大数问题(如`n=20`时结果超过`longlong`范围,需用高精度计算)。

2.题目:

给定一个字符串`s`,判断是否可以通过翻转字符串中的部分字符使其变为回文串。例如,输入`abccba`返回`true`,输入`abcba`返回`true`,输入`abcde`返回`false`。

答案:

cpp

boolcanBePalindrome(strings){

intleft=0,right=s.size()-1;

intcount=0;//记录可翻转的字符对数

while(leftright){

if(s

文档评论(0)

1亿VIP精品文档

相关文档