- 1
- 0
- 约6.46千字
- 约 18页
- 2026-08-20 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年软件工程师面试测试题
一、编程题(共5题,每题20分,总分100分)
1.题目:
实现一个函数,输入一个正整数n,返回所有小于或等于n的质数的列表。要求不使用任何外部库,时间复杂度尽可能低。
答案:
python
defsieve_of_eratosthenes(n):
ifn2:
return[]
is_prime=[True](n+1)
is_prime[0]=is_prime[1]=False
foriinrange(2,int(n0.5)+1):
ifis_prime[i]:
forjinrange(ii,n+1,i):
is_prime[j]=False
return[ifori,primeinenumerate(is_prime)ifprime]
解析:
采用埃拉托斯特尼筛法,时间复杂度为O(nloglogn),空间复杂度为O(n)。通过标记非质数来筛选出所有质数,避免了重复计算。
2.题目:
给定一个字符串,判断它是否是有效的括号组合。例如,输入`()`返回`True`,输入`()[]{}`返回`True`,输入`(]`返回`False`。
答案:
python
defis_valid_parentheses(s):
sta
原创力文档

文档评论(0)