百度算法工程师面试题集.docxVIP

  • 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

解析:双指针法,从两端向中间移动,遇到不

文档评论(0)

1亿VIP精品文档

相关文档