- 0
- 0
- 约3.93千字
- 约 12页
- 2026-07-21 发布于福建
- 举报
第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)