百度软件开发工程师面试题精讲.docxVIP

  • 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.回文条件:

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档