TGViewer
C/C++ Development | YeaHub C/C++ Development | YeaHub @yeahub_c_development · 742 subscribers
Post #375 307
#ЛитКод
Задача: 719. Find K-th Smallest Pair Distance

Расстояние между парой целых чисел a и b определяется как абсолютная разность между a и b. Учитывая целочисленный массив nums и целое число k, верните k-е наименьшее расстояние среди всех пар nums[i] и nums[j], где 0 <= i < j < nums.length.

Пример:
Input: nums = [1,3,1], k = 1
Output: 0


👨‍💻 Алгоритм:

1⃣Отсортируйте массив nums.

2⃣Определите минимальное и максимальное возможные расстояния.

3⃣Используйте бинарный поиск, чтобы найти k-е наименьшее расстояние, проверяя количество пар с расстоянием меньше или равно текущему среднему значению.

😎 Решение:
int countPairs(const vector<int>& nums, int mid) {
int count = 0, j = 0;
for (int i = 0; i < nums.size(); i++) {
while (j < nums.size() && nums[j] - nums[i] <= mid) {
j++;
}
count += j - i - 1;
}
return count;
}

int smallestDistancePair(vector<int>& nums, int k) {
sort(nums.begin(), nums.end());
int left = 0, right = nums.back() - nums.front();
while (left < right) {
int mid = (left + right) / 2;
if (countPairs(nums, mid) < k) {
left = mid + 1;
} else {
right = mid;
}
}
return left;
}


👉Новости 👉База вопросов
More from @yeahub_c_development
  1. Oct 9, 2026#video #архитектура 📚 Road to Highload: видеопроект о проектировании архитектуры высокона…
  2. Oct 8, 2026#Собес #Docker_Registry #container_registry #Docker_Hub 🤔 Что такое Docker Registry и для…
  3. Oct 7, 2026#Собес #stack #heap #memory_management 🤔 Как отличается время жизни объектов в стеке и ку…
  4. Oct 5, 2026#Собес #stl #containers #algorithms 🤔 Что такое STL в C++? 💬 Кратко: STL (Standard Templ…
  5. Oct 2, 2026#trainer #tutorials #exercise 📚 W3schools На сайте представлены интерактивные уроки и спр…
  6. Oct 1, 2026#Собес #git_хуки 🤔 Из чего состоят “хуки” в Git? 💬 Кратко: Хуки в Git — это скрипты, кот…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →