Skip to content

Commit a2c9e85

Browse files
committed
Time: 6264 ms (42.12%), Space: 23.1 MB (43.47%) - LeetHub
1 parent a9e2ae9 commit a2c9e85

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# time complexity: O(nloglogn)
2+
# space complexity: O(n)
3+
class Solution:
4+
def largestPrime(self, n: int) -> int:
5+
primeSet = [True] * (n + 1)
6+
primeSet[0] = primeSet[1] = False
7+
for i in range(2, int(n**0.5) + 1):
8+
if primeSet[i]:
9+
for j in range(i*i, n+1, i):
10+
primeSet[j] = False
11+
12+
primes = [i for i in range(2, n+1) if primeSet[i]]
13+
14+
prefixSum = 0
15+
result = 0
16+
for p in primes:
17+
prefixSum += p
18+
if prefixSum > n:
19+
break
20+
if primeSet[prefixSum]:
21+
result = prefixSum
22+
23+
return result
24+
25+
26+
n = 20
27+
print(Solution().largestPrime(n))
28+
n = 2
29+
print(Solution().largestPrime(n))

0 commit comments

Comments
 (0)