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

  • 0
  • 0
  • 约4.42千字
  • 约 15页
  • 2026-03-15 发布于福建
  • 举报

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

第PAGE页共NUMPAGES页

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

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

1.题目:

请实现一个函数,输入一个正整数`n`,返回`n`的汉明重量(即二进制表示中`1`的个数)。要求时间复杂度为`O(1)`。

示例:

输入:`n=11`(二进制`1011`)

输出:`3`

答案:

cpp

inthammingWeight(intn){

intcount=0;

while(n){

count+=n1;

n=1;

}

returncount;

}

解析:

利用位运算技巧。每次与`1`进行按位与操作,可以统计最低位的`1`的个数,然后右移一位,直到`n`为`0`。时间复杂度为`O(1)`,因为`n`的二进制位数是固定的(32位或64位)。

2.题目:

给定一个字符串`s`,请判断它是否是回文串。可以忽略非字母数字字符,且不区分大小写。

示例:

输入:`Aman,aplan,acanal:Panama`

输出:`true`

答案:

cpp

boolisPalindrome(strings){

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

while(leftright){

while(leftright!isalnum(s[left]

文档评论(0)

1亿VIP精品文档

相关文档