File tree
Expand file treeCollapse file tree2 files changed
+36
-40
lines changed Expand file treeCollapse file tree2 files changed
+36
-40
lines changed This file was deleted.
Original file line number | Diff line number | Diff line change |
---|
|
| 1 | +var closestPrimes = function(left, right) { |
| 2 | +let sieve = new Array(right + 1).fill(true); |
| 3 | +sieve[0] = sieve[1] = false; |
| 4 | + |
| 5 | +for (let i = 2; i * i <= right; i++) { |
| 6 | +if (sieve[i]) { |
| 7 | +for (let j = i * i; j <= right; j += i) { |
| 8 | +sieve[j] = false; |
| 9 | +} |
| 10 | +} |
| 11 | +} |
| 12 | + |
| 13 | +let primes = []; |
| 14 | +for (let i = left; i <= right; i++) { |
| 15 | +if (sieve[i]) { |
| 16 | +primes.push(i); |
| 17 | +} |
| 18 | +} |
| 19 | + |
| 20 | +if (primes.length < 2) { |
| 21 | +return [-1, -1]; |
| 22 | +} |
| 23 | + |
| 24 | +let minGap = Infinity; |
| 25 | +let result = [-1, -1]; |
| 26 | + |
| 27 | +for (let i = 1; i < primes.length; i++) { |
| 28 | +let gap = primes[i] - primes[i - 1]; |
| 29 | +if (gap < minGap) { |
| 30 | +minGap = gap; |
| 31 | +result = [primes[i - 1], primes[i]]; |
| 32 | +} |
| 33 | +} |
| 34 | + |
| 35 | +return result; |
| 36 | +}; |
You can’t perform that action at this time.
0 commit comments