- 0
- 0
- 约5.32千字
- 约 16页
- 2026-01-14 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年百度工程师面试题及答案
一、编程题(共3题,每题20分,总分60分)
题目1(20分):字符串最长公共子串问题
问题描述:
给定两个字符串`s1`和`s2`,请编写一个函数`longestCommonSubstring(s1,s2)`,返回它们的最长公共子串的长度。子串是指连续的字符序列。例如:
-输入:`s1=abcde`,`s2=ace`,输出:`3`(公共子串为ace)
-输入:`s1=abcdef`,`s2=xyzabc`,输出:`3`(公共子串为abc)
要求:
1.时间复杂度不超过O(nm),其中n和m分别为`s1`和`s2`的长度。
2.不能使用额外的存储空间(或空间复杂度不超过O(min(n,m)))。
答案与解析:
python
deflongestCommonSubstring(s1,s2):
n=len(s1)
m=len(s2)
ifn==0orm==0:
return0
使用动态规划,dp[i][j]表示s1[:i]和s2[:j]的最长公共子串长度
dp=[[0](m+1)for_inrange(n+1)]
max_len=0
end_pos=0
foriinrange(1,n+1):
forjinrange(1,m+1):
ifs1[i-1]==s2[j-1]:
dp[i][j]=dp[i-1][j-1]+1
ifdp[i][j]max_len:
max_len=dp[i][j]
end_pos=i
else:
dp[i][j]=0
returnmax_len
解析:
1.动态规划思路:
-定义`dp[i][j]`为`s1[:i]`和`s2[:j]`的最长公共子串长度。
-如果`s1[i-1]==s2[j-1]`,则`dp[i][j]=dp[i-1][j-1]+1`;否则`dp[i][j]=0`。
-在遍历过程中记录最大值`max_len`及其结束位置`end_pos`,最后返回`max_len`。
2.空间优化:
-由于每次计算只依赖于前一行的数据,可以使用滚动数组将空间复杂度从O(nm)优化到O(min(n,m))。
题目2(20分):二叉树的最大深度
问题描述:
给定一个二叉树,请编写一个函数`maxDepth(root)`,返回其最大深度(即最长的从根到叶子的路径上的节点数)。例如:
-输入:`[3,9,20,null,null,15,7]`(对应二叉树结构为:
3
/\
920
/\
157
输出:`3`
-输入:`[1,null,2,null,3,null,4]`(对应二叉树结构为:
1
\
2
\
3
\
4
输出:`4`
要求:
1.使用递归或迭代方法实现。
2.不能使用任何第三方库。
答案与解析:
python
定义二叉树节点
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
defmaxDepth(root):
ifrootisNone:
return0
left_depth=maxDepth(root.left)
right_depth=maxDepth(root.right)
returnmax(left_depth,right_depth)+1
解析:
1.递归方法:
-若节点为空,返回深度0。
-否则,最大深度为左右子树深度的最大值加1。
2.迭代方法(使用队列):
-使用广度优先搜索(BFS),每次遍历一层,深度加1。
-适用于非常深的树,避免递归栈溢出。
题目3(20分):合并K个有序链表
问题描述:
给定`k`个链表,每个链表都按非递减顺序排列,请编写一个函数`mergeKLists(lists)`,合并它们为一个新的链表,同样按非递减顺序排列。例如:
-输入:`lists=[[1,4,5],[1,3,4],[2,6]]`,输出:`[1,1,2,3,4,4,5,6]`
-输入:`lists=[[]]`,输出:`[]`
要求:
1.时间复杂度不超过O(nk),其中n为所有链表的总节点数。
2.可以使用优先队列(最小堆)优化效率。
答案与解析:
python
fromheapqimportheappop,heappush
classListNode:
def_
您可能关注的文档
- 2026年项目中成本核算员的考核标准探讨.docx
- 2026年企业高管面试指南领导力与决策能力考核要点.docx
- 2026年体育用品公司销售部经理笔试题目.docx
- 2026年IT互联网公司运营部门负责人选拔与考核标准探讨.docx
- 2026年国网级电力工程项目经理专业能力测试题目分析.docx
- 2026年面试题集中航工业公关专员岗位.docx
- 2026年办公区域日常清洁卫生规范及考核.docx
- 2026年国美电器销售顾问面试题库及答案参考手册.docx
- 2026年金融行业IT服务支持面试宝典面试题与解答策略.docx
- 2026年SAP功能测试顾问的工作安排与实施.docx
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
原创力文档

文档评论(0)