- 2
- 0
- 约8.33千字
- 约 23页
- 2026-03-13 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年百度公司技术面试题及解析
一、编程基础(共5题,每题2分,合计10分)
题目1(2分):
请编写一个函数,实现将一个32位无符号整数的二进制表示中从右向左数的第一位1翻转(即0变1,1变0)。例如,输入`11`(二进制`1011`),输出`10`(二进制`1010`)。要求不使用循环,仅用位运算实现。
答案与解析:
答案:
cpp
intflipRightMostOne(unsignedintnum){
returnnum^(num-num);
}
解析:
-`num-num`:通过取反加1(`-num`是`num`的二进制取反加1)得到`num`最右边的1及其右边的所有0。例如,`num=11`(`1011`),`-num=~1011+1=0101+1=0110`,`num-num=10110110=0010`(即最右边的1)。
-`num^(num-num)`:将最右边的1翻转,其他位保持不变。例如,`num=1011`,`num-num=0010`,`num^0010=1011^0010=1001`(但题目要求仅翻转第一位1,正确结果应为`1010`,需调整思路)。
修正答案:
cpp
intflipRightMostOne(unsignedintnum){
returnnum^(1(log2(num-num)));
}
-`log2(num-num)`:计算最右边的1的位置(从0开始计数)。
更简洁的修正:
cpp
intflipRightMostOne(unsignedintnum){
returnnum^(1(32-__builtin_clz(num)-1));
}
-`__builtin_clz(num)`:计算`num`前导0的个数(C++内置函数)。
最终推荐:
cpp
intflipRightMostOne(unsignedintnum){
returnnum^(1(32-__builtin_clz(num)-1));
}
题目2(2分):
给定一个字符串`s`,请判断其是否为回文串(正读和反读相同)。假设字符串仅包含字母和数字,忽略大小写。例如,输入`Aman,aplan,acanal:Panama`,输出`true`。
答案与解析:
答案:
cpp
boolisPalindrome(conststd::strings){
intleft=0,right=s.size()-1;
while(leftright){
while(leftright!isalnum(s[left]))left++;
while(leftright!isalnum(s[right]))right--;
if(tolower(s[left])!=tolower(s[right]))returnfalse;
left++;
right--;
}
returntrue;
}
解析:
-双指针法:`left`从左向右,`right`从右向左移动,跳过非字母数字字符,并比较对应字符是否相同(忽略大小写)。
-`isalnum`:检查字符是否为字母或数字。
-`tolower`:统一转换为小写比较。
题目3(2分):
请实现一个函数,统计一个数组中所有奇数元素的平方和。例如,输入`[1,2,3,4,5]`,输出`1^2+3^2+5^2=35`。
答案与解析:
答案:
cpp
intsumOfOddSquares(conststd::vectorintnums){
intsum=0;
for(intnum:nums){
if(num%2!=0)sum+=numnum;
}
returnsum;
}
解析:
-遍历数组,判断每个元素是否为奇数,如果是则平方后累加。
-时间复杂度O(n),空间复杂度O(1)。
题目4(2分):
给定两个字符串`s1`和`s2`,请判断`s2`是否为`s1`的子串(不考虑顺序)。例如,输入`s1=abcde`,`s2=ace`,输出`true`。
答案与解析:
答案:
cpp
boolisSubstring(conststd::strings1,conststd::strings2){
if(s2.size()s1.size())returnfalse;
std::unordered_set
您可能关注的文档
- 2026年京东商城采购经理面试题集.docx
- 通讯设备行业测试专家职位专业介绍与资料.docx
- 项目部面试题及答案解析.docx
- 2026年考试题系统装配知识测试题库.docx
- 法律顾问知识产权方向面试题及答案.docx
- 2026年翻译官面试语言能力测试与技巧.docx
- 同仁堂总经理助理岗位能力考试题库含答案.docx
- 2026年项目管理中控制框架专员的面试问题集.docx
- 航空业项目管理面试要点及答案.docx
- 招聘面试流程及面试题集.docx
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
原创力文档

文档评论(0)