Competitive ProgrammingЛегко

Closest Pair

Detailed guide and Python implementation for the 'Closest Pair' problem.

Постановка задачи

Легко

Write a function closest_pair(arr) that takes an unsorted array of integers arr and returns a tuple of two integers (x, y) from the array that have the minimum absolute difference. The returned tuple must be sorted such that x <= y. If there are multiple pairs with the same minimum difference, return the one with the smaller x value (and if those are the same, the smaller y value).

Ограничения
  • 2 <= len(arr) <= 10^5
  • -10^9 <= arr[i] <= 10^9

Примеры

Example 1
Input
closest_pair([4, 9, 1, 32, 13])
Output
(1, 4)
Explanation

The difference between 1 and 4 is 3, which is the minimum difference possible between any two elements in the array.

Example 2
Input
closest_pair([12, 15, 17, 20, 25])
Output
(15, 17)
Explanation

The difference between 15 and 17 is 2, which is the minimum difference possible.

Need a Hint?
Consider using Searching & Sorting-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Готовы решить?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Открыть в редакторе
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.

Учебник по Python

Циклы Python

Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.

Посмотреть ресурс
Практическое руководство

Как отсортировать список в Python

Узнайте, как сортировать список в Python с помощью метода sort() и функции sorted(). Ознакомьтесь с примерами пользовательской сортировки ключей и обратного порядка.

Посмотреть ресурс
Шпаргалка

Шпаргалка по строковым методам Python

Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.

Посмотреть ресурс
Сравнение языков

Python против JavaScript: какой язык программирования лучше?

Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.

Посмотреть ресурс