2026年软件工程师面试经典问题及答案解析.docxVIP

  • 0
  • 0
  • 约3.93千字
  • 约 12页
  • 2026-07-21 发布于福建
  • 举报

2026年软件工程师面试经典问题及答案解析.docx

第PAGE页共NUMPAGES页

2026年软件工程师面试经典问题及答案解析

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

1.题目:

请实现一个函数,输入一个非负整数`n`,返回`n`的汉明重量(即二进制表示中`1`的个数)。例如,输入`11`(二进制`1011`),返回`3`。

答案:

python

defhamming_weight(n:int)-int:

count=0

whilen:

count+=n1

n=1

returncount

解析:

-位运算优化:使用`n1`判断最低位是否为`1`,然后右移一位。

-时间复杂度:`O(logn)`,因为每次右移减少一位。

-替代方案:Python中可用`bin(n).count(1)`,但面试可能要求手动实现。

2.题目:

给定一个字符串`s`,判断其是否为有效的括号字符串(只包含`(`和`)`,且括号匹配)。

答案:

python

defisValid(s:str)-bool:

stack=[]

forcins:

ifc==(:

stack.append(c)

elifc==):

ifnotstack:

returnFalse

stack.pop()

returnnotstack

解析:

-栈的应用:左括号入栈,右括号匹配

文档评论(0)

1亿VIP精品文档

相关文档