百度算法工程师面试题及答题思路.docxVIP

  • 8
  • 0
  • 约5.84千字
  • 约 15页
  • 2026-03-20 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年百度算法工程师面试题及答题思路

一、编程能力测试(共5题,每题20分,总分100分)

1.字符串最长公共子序列(20分)

题目:给定两个字符串str1和str2,请找出它们的最长公共子序列(子序列不要求连续),并返回其长度。例如:

-输入:str1=abcde,str2=ace

-输出:3(公共子序列为ace)

答题思路:

-动态规划解法:使用二维DP表dp[i][j]表示str1前i个字符和str2前j个字符的最长公共子序列长度。

-初始化:dp[0][j]=0,dp[i][0]=0。

-状态转移:若str1[i-1]==str2[j-1],则dp[i][j]=dp[i-1][j-1]+1;否则dp[i][j]=max(dp[i-1][j],dp[i][j-1])。

-时间复杂度:O(mn),空间复杂度:O(mn)。

-优化:可使用滚动数组将空间复杂度降为O(n)。

2.二叉树的最大深度(20分)

题目:给定一个二叉树,请计算其最大深度(即从根节点到最远叶子节点的最长路径上的节点数)。例如:

-输入:[3,9,20,null,null,15,7]

-输出:3(路径为3→9→7或3→20→7)

答题思路:

-递归解法:

-若节点为空,返回0。

-否则,左右子树

文档评论(0)

1亿VIP精品文档

相关文档