- 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
您可能关注的文档
最近下载
- 最新山东商务职业学院单招试题 完整版2025.pdf VIP
- 2025年申报电子病历五级医院病房医生护士内容解读.pdf VIP
- TKS-600汽车入场煤采、制、检全自动智能一体机用户使用说明书.pdf VIP
- 金属与石材幕墙工程技术规范(全).pdf VIP
- 最新山东商务职业学院单招试题 完整版2025.pdf VIP
- J农村商业银行基层员工绩效考核体系优化研究.pdf
- 2025年山东省济宁市中考化学真题(含答案).pdf
- 2026-2030网络安全行业市场发展分析及发展趋势前景预测报告.docx
- 病房精细化管理课件.pptx VIP
- 2025至2030中国碲化镉行业调研及市场前景预测评估报告.docx VIP
原创力文档

文档评论(0)