diff --git a/2523. Closest Prime Numbers in Range b/2523. Closest Prime Numbers in Range new file mode 100644 index 0000000..c864ed4 --- /dev/null +++ b/2523. Closest Prime Numbers in Range @@ -0,0 +1,30 @@ +class Solution { +public: + vector closestPrimes(int left, int right) { + vector isPrime(right + 1, true); + isPrime[0] = isPrime[1] = false; + for (int i = 2; i * i <= right; i++) { + if (isPrime[i]) { + for (int j = i * i; j <= right; j += i) { + isPrime[j] = false; + } + } + } + vector primes; + for (int i = left; i <= right; i++) { + if (isPrime[i]) primes.push_back(i); + } + if (primes.size() < 2) return {-1, -1}; + vector res(2); + int minDiff = INT_MAX; + for (int i = 1; i < primes.size(); i++) { + int diff = primes[i] - primes[i - 1]; + if (diff < minDiff) { + minDiff = diff; + res[0] = primes[i - 1]; + res[1] = primes[i]; + } + } + return res; + } +};