腾讯算法工程师面试题详解及答案.docxVIP

  • 0
  • 0
  • 约4.97千字
  • 约 13页
  • 2026-03-22 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年腾讯算法工程师面试题详解及答案

一、编程基础(3题,每题10分,共30分)

1.题目:

实现一个函数,输入一个非负整数`n`,返回`n`的二进制表示中`1`的个数。例如,输入`11`(二进制`1011`),返回`3`。要求时间复杂度为`O(logn)`。

答案:

cpp

intcountBits(intn){

intcount=0;

while(n){

count+=n1;

n=1;

}

returncount;

}

解析:

通过位运算`n1`判断最低位是否为`1`,然后右移一位,直到`n`为`0`。时间复杂度为`O(logn)`,因为每次右移相当于二进制位数减一。

2.题目:

给定一个字符串`s`,判断它是否是一个有效的括号字符串(只包含`(`和`)`,且括号匹配)。例如,输入`(()())`,返回`true`;输入`(()`,返回`false`。

答案:

cpp

boolisValidParentheses(conststrings){

intcount=0;

for(charc:s){

if(c==()count++;

elseif(c==))count--;

if(count0)returnfalse;

}

returnc

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档