- 2
- 0
- 约5.47千字
- 约 15页
- 2026-02-01 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年百度算法工程师面试题集
一、编程基础(3题,每题10分,共30分)
1.题目:给定一个无重复元素的整数数组,返回所有可能的子集。要求:不使用递归,时间复杂度尽可能低。
python
defsubsets(nums):
你的代码
答案:
python
defsubsets(nums):
res=[[]]
fornuminnums:
res+=[curr+[num]forcurrinres]
returnres
解析:使用迭代方法构建子集,初始时只有一个空集,每次添加一个新元素时,将当前所有子集的变体加上该元素形成新的子集。时间复杂度为O(2^n)。
2.题目:实现一个LRU(最近最少使用)缓存,支持get和put操作。要求:使用哈希表和双向链表实现,get操作时间复杂度为O(1),put操作时间复杂度为O(1)。
python
classLRUCache:
def__init__(self,capacity):
你的代码
defget(self,key):
你的代码
defput(self,key,value):
你的代码
答案:
python
classLRUCache:
def__init__(self,capacity):
self.capacity=capacity
self.cache={}
self.head=Node(0,0)
self.tail=Node(0,0)
self.head.next=self.tail
self.tail.prev=self.head
classNode:
def__init__(self,key,value):
self.key=key
self.value=value
self.prev=None
self.next=None
defget(self,key):
ifkeyinself.cache:
node=self.cache[key]
self._move_to_front(node)
returnnode.value
return-1
defput(self,key,value):
ifkeyinself.cache:
node=self.cache[key]
node.value=value
self._move_to_front(node)
else:
iflen(self.cache)==self.capacity:
self._remove_lru()
new_node=self.Node(key,value)
self.cache[key]=new_node
self._add_to_front(new_node)
def_move_to_front(self,node):
self._remove_node(node)
self._add_to_front(node)
def_remove_node(self,node):
node.prev.next=node.next
node.next.prev=node.prev
def_add_to_front(self,node):
node.prev=self.head
node.next=self.head.next
self.head.next.prev=node
self.head.next=node
def_remove_lru(self):
lru=self.tail.prev
self._remove_node(lru)
delself.cache[lru.key]
解析:使用双向链表维护访问顺序,哈希表存储键值对,确保get和put操作的时间复杂度为O(1)。头尾节点为哨兵节点,简化操作。
3.题目:给定一个字符串,判断是否可以通过删除一些字符使其变为回文串。要求:不使用递归,时间复杂度尽可能低。
python
defvalid_palindrome(s):
你的代码
答案:
python
defvalid_palindrome(s):
left,right=0,len(s)-1
whileleftright:
ifs[left]!=s[right]:
returnvalid_palindrome(s[left+1:right+1])orvalid_palindrome(s[left:right])
left+=1
right-=1
returnTrue
解析:双指针法,从两端向中间移动,遇到不
您可能关注的文档
最近下载
- 申菱组合式空气处理机组.pdf
- 2024年高考英语临考押题卷02(天津卷)(全解全析) .docx VIP
- 2024年中考英语临考押题卷02(天津卷)(全解全析).docx VIP
- 2024年中考英语临考押题卷02(天津卷)(参考答案).docx VIP
- 2024年中考英语临考押题卷01(天津卷)(参考答案).docx VIP
- 2024年中考英语临考押题卷01(天津卷)(考试版).docx VIP
- 2024年高考语文临考押题卷01(考试版)备战2024年高考语文临考题号押题(天津卷).docx VIP
- 专题01 空间几何体的外接球与内切球问题(典型题型归类训练)(解析版).docx VIP
- 骨伤科膝痹病中医诊疗专项方案.doc VIP
- 押天津卷第21题 名著阅读(原卷版)-备战2024年高考语文临考题号押题(天津卷).pdf VIP
原创力文档

文档评论(0)