2026年程序员面试算法题与答案.docxVIP

  • 0
  • 0
  • 约9.06千字
  • 约 26页
  • 2026-02-12 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年程序员面试算法题与答案

1.数组与字符串(共3题,每题10分)

1.1题目(10分):

给定一个包含重复数字的数组`nums`,返回所有不重复的全排列。例如,输入`[1,1,2]`,返回`[[1,1,2],[1,2,1],[2,1,1]]`。

答案与解析:

python

defpermute_unique(nums):

defbacktrack(path,used):

iflen(path)==len(nums):

res.append(path[:])

return

foriinrange(len(nums)):

ifused[i]:

continue

ifi0andnums[i]==nums[i-1]andnotused[i-1]:

continue

used[i]=True

path.append(nums[i])

backtrack(path,used)

path.pop()

used[i]=False

nums.sort()

res=[]

used=[False]len(nums)

backtrack([],used)

returnres

示例

print(permute_unique([1,1,2]))

解析:

-排序去重:首先对数组排序,便于跳过重复元素。

-回溯法:使用回溯法生成所有排列,`used`数组记录已使用的元素。

-跳过重复:如果当前元素与前一个相同且前一个未被使用,则跳过以避免重复排列。

-结果收集:当排列长度等于数组长度时,将排列加入结果列表。

1.2题目(10分):

给定一个字符串`s`,找到最长的不重复子串的长度。例如,输入`abcabcbb`,返回`3`(对应子串`abc`)。

答案与解析:

python

deflength_of_longest_substring(s):

char_set=set()

left=0

max_len=0

forrightinrange(len(s)):

whiles[right]inchar_set:

char_set.remove(s[left])

left+=1

char_set.add(s[right])

max_len=max(max_len,right-left+1)

returnmax_len

示例

print(length_of_longest_substring(abcabcbb))

解析:

-滑动窗口:使用两个指针`left`和`right`表示窗口的左右边界。

-字符集合:`char_set`记录当前窗口中的字符,避免重复。

-移动窗口:当遇到重复字符时,移动`left`指针并从集合中移除字符,直到窗口无重复。

-更新最大长度:每次移动`right`指针时,更新最大子串长度。

1.3题目(10分):

给定一个字符串`s`,将字母字符转换为小写,数字字符保持不变,其他字符替换为`#`。例如,输入`a1b2c3!`,返回`a1b2c3#`。

答案与解析:

python

defmodify_string(s):

res=[]

forcharins:

ifchar.isalpha():

res.append(char.lower())

elifchar.isdigit():

res.append(char)

else:

res.append(#)

return.join(res)

示例

print(modify_string(a1b2c3!))

解析:

-遍历字符串:逐个字符判断并处理。

-字母转小写:使用`isalpha()`检查是否为字母,并转换为小写。

-数字保留:使用`isdigit()`检查是否为数字,保留原样。

-其他替换为`#`:其他字符替换为`#`。

2.链表(共3题,每题10分)

2.1题目(10分):

给定两个非空链表`l1`和`l2`,将它们合并为一个新的链表,合并规则按升序排列。例如,输入`l1=[1,2,4]`,`l2=[1,3,4]`,返回`[1,1,2,3,4,4]`。

答案与解析:

python

classListNode:

def__init__(self,val=0,next=None):

self.val=val

self.next=next

defmerge_two_lists(l1,l2):

dummy=ListNode(0)

current=dummy

whilel1

文档评论(0)

1亿VIP精品文档

相关文档