- 0
- 0
- 约5.33千字
- 约 15页
- 2026-03-24 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年百度公司软件工程师面试指南及答案
一、编程基础(5题,每题10分,共50分)
1.题目:
请实现一个函数,输入一个正整数`n`,返回`n`的二进制表示中`1`的个数。例如,输入`11`(二进制为`1011`),返回`3`。
答案:
cpp
intcountBits(intn){
intcount=0;
while(n!=0){
count+=n1;
n=1;
}
returncount;
}
解析:
通过位运算`n1`获取最低位是否为`1`,然后右移一位继续统计,直到`n`为`0`。时间复杂度为`O(logn)`。
2.题目:
给定一个字符串`s`,请判断它是否是一个有效的括号字符串(只包含`()`、`[]`、`{}`,且括号匹配正确)。例如,输入`{[()]}`,返回`true`;输入`{[(])}`,返回`false`。
答案:
cpp
boolisValid(strings){
stackcharst;
for(charc:s){
if(c==(||c==[||c=={){
st.push(c);
}else{
if(st.empty())returnfalse;
chartop
原创力文档

文档评论(0)