- 2
- 0
- 约5.52千字
- 约 13页
- 2026-07-17 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年腾讯算法工程师笔试题目及解析
一、编程题(共3题,每题15分,共45分)
题目1(Python编程):
编写一个函数,输入一个正整数n,返回所有小于等于n的质数的列表。要求不使用任何外部库,时间复杂度尽可能低。
示例输入:n=10
示例输出:[2,3,5,7]
解析:
可以使用埃拉托斯特尼筛法(SieveofEratosthenes)高效求解质数。具体步骤如下:
1.创建一个长度为n的布尔数组,初始值全为True,表示所有数都是质数候选。
2.从2开始遍历,若当前数为质数,则将其所有倍数标记为非质数(即False)。
3.继续遍历下一个数,重复步骤2,直到遍历到√n。
4.收集所有标记为True的数作为质数。
时间复杂度:O(nloglogn),空间复杂度:O(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
re
原创力文档

文档评论(0)