- 0
- 0
- 约7.55千字
- 约 21页
- 2026-02-09 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年百度软件开发工程师面试题精讲
一、编程基础与数据结构(共5题,每题10分,总分50分)
题目1:数组旋转问题
题目描述:
给定一个数组`nums`和一个整数`k`,将数组向右旋转`k`步。例如,`nums=[1,2,3,4,5]`,`k=2`,旋转后的数组为`[4,5,1,2,3]`。
要求:
-时间复杂度:O(n)
-空间复杂度:O(1)
答案与解析:
答案:
python
defrotate(nums,k):
n=len(nums)
k=k%n#处理k大于n的情况
nums[:]=nums[-k:]+nums[:-k]
解析:
1.处理k大于n的情况:`k=k%n`可以避免重复旋转。
2.切片操作:`nums[-k:]`表示数组的后`k`个元素,`nums[:-k]`表示数组的前`n-k`个元素。拼接后赋值给`nums`,实现原地修改。
3.时间复杂度:切片操作的时间复杂度为O(n),但实际操作中只涉及常数空间。
题目2:合并区间
题目描述:
给定一个区间列表`intervals`,其中`intervals[i]=[start_i,end_i]`,合并所有重叠的区间,并返回一个不重叠的区间列表。例如,`intervals=[[1,3],[2,6],[8,10]]`,合并后为`[[1,6],[8,10]]`。
要求:
-按区间的起始位置排序,然后合并重叠部分。
答案与解析:
答案:
python
defmerge(intervals):
ifnotintervals:
return[]
intervals.sort(key=lambdax:x[0])#按起始位置排序
merged=[]
forintervalinintervals:
ifnotmergedormerged[-1][1]interval[0]:
merged.append(interval)
else:
merged[-1][1]=max(merged[-1][1],interval[1])
returnmerged
解析:
1.排序:按区间的起始位置升序排序,便于合并。
2.合并逻辑:
-如果`merged`为空或当前区间的起始位置大于`merged`最后一个区间的结束位置,直接添加到`merged`。
-否则,更新`merged`最后一个区间的结束位置为当前区间和上一个区间的最大值。
3.时间复杂度:排序为O(nlogn),合并为O(n),总复杂度为O(nlogn)。
题目3:二叉树的最大深度
题目描述:
给定一个二叉树,返回其最大深度(即,最底层节点的最大深度)。例如:
3
/\
920
/\
157
最大深度为3。
要求:
-使用递归或迭代方法实现。
答案与解析:
答案(递归):
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
defmaxDepth(root):
ifnotroot:
return0
return1+max(maxDepth(root.left),maxDepth(root.right))
解析:
1.递归基:如果节点为空,深度为0。
2.递归关系:最大深度等于左子树和右子树的最大深度加1。
3.时间复杂度:O(n),每个节点访问一次。
题目4:字符串的回文排列
题目描述:
给定一个字符串`s`,判断是否可以将`s`重新排列为一个回文字符串。例如,`s=aab`可以重新排列为aaba或abaa,是回文排列;`s=abc`则不是。
要求:
-忽略大小写和空格,仅考虑字母。
答案与解析:
答案:
python
defcanPermutePalindrome(s):
s=.join(s.lower().split())#去除空格并转为小写
count={}
forcharins:
count[char]=count.get(char,0)+1
odd=0
forfreqincount.values():
iffreq%2!=0:
odd+=1
ifodd1:
returnFalse
returnTrue
解析:
1.预处理:去除空格并转为小写,仅保留字母。
2.统计频率:使用字典统计每个字母的出现次数。
3.回文条件:
您可能关注的文档
- 2026年医师资格考试临床执业医师高频考点含答案.docx
- 2026年人力资源师考试重点突破与模拟试卷含答案.docx
- 2026年航天科技行业岗位面试题目与解析.docx
- 2026年汽车工程师面试手册汽车制造及维修工程师面试题集.docx
- 城市规划专家专业技能与实战问题解析.docx
- 2026年安全工程师职业资格认证题库解析.docx
- 财务部会计面试题及标准答案解析.docx
- 2026年平安银行产品经理晋升考试大纲含答案.docx
- 市场营销策略助理面试题及解答参考.docx
- 快消品公司市场部经理的面试题集.docx
- 2026福建漳州农商银行春季实习招募35人备考题库及参考答案详解1套.docx
- 2026福建龙岩市连城县新泉中心小学代课教师招聘2人备考题库含答案详解(满分必刷).docx
- 2026贵州贵阳南明绿洲清源环境监测有限公司招聘备考题库及答案详解(考点梳理).docx
- 2026贵州黔南州三都县中国移动公司招聘14人备考题库带答案详解(轻巧夺冠).docx
- 2026福建龙岩漳平市招聘高校师范类毕业生101人备考题库及答案详解(新).docx
- 2026福建漳州市龙海区公益性岗位招聘1人备考题库附参考答案详解(突破训练).docx
- 2026财达证券投资银行业务委员会社会招聘3人备考题库带答案详解(典型题).docx
- 2026福建莆田市秀屿区新任教师招聘16人备考题库带答案详解.docx
- 2026贵州黔西南州望谟县医疗保障局招聘公益性岗位人员1人备考题库及一套答案详解.docx
- 2026福建泉州市凌霄中学春季顶岗合同教师招聘2人备考题库及答案详解(易错题).docx
原创力文档

文档评论(0)