2026年百度算法工程师面试题与解析.docxVIP

  • 1
  • 0
  • 约3.9千字
  • 约 10页
  • 2026-02-26 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年百度算法工程师面试题与解析

一、编程题(共3题,每题15分,总分45分)

1.(15分)最长有效括号

给定一个只包含(和)的字符串,找出最长的有效(正确匹配)括号子串的长度。例如:

输入:`(()`,输出:`2`(最长有效子串是`()`)。

答案与解析:

python

deflongest_valid_parentheses(s:str)-int:

stack=[-1]#初始化栈,-1作为基准点

max_len=0

fori,charinenumerate(s):

ifchar==(:

stack.append(i)

else:

stack.pop()

ifnotstack:

stack.append(i)

else:

max_len=max(max_len,i-stack[-1])

returnmax_len

解析:

使用栈记录未匹配的左括号索引,遍历字符串时:

-遇到(:将其索引压入栈。

-遇到):弹出栈顶元素,若栈为空则将当前索引压入栈;否则,计算当前有效括号的长度(当前索引减去栈顶索引)。

时间复杂度O(n),空间复杂度O(n)。

2.(15分)LRU缓存机制

设计LRU(LeastRecentlyUsed)缓存机制,支持`get`和`pu

文档评论(0)

1亿VIP精品文档

相关文档