Сортировка
Штрихкоды без повторов
Переставить штрихкоды так, чтобы одинаковые не стояли рядом
Средний
Постановка задачи
Описание (LeetCode - 1054. Distant Barcodes)
Дан массив barcodes, где barcodes[i] - значение i-го штрихкода.
Нужно переставить элементы так, чтобы никакие два соседних штрихкода не были одинаковыми.
Можно вернуть любой корректный ответ.
Гарантируется, что ответ существует.
Пример 1:
barcodes = [1, 1, 1, 2, 2, 2]
Результат:
[1, 2, 1, 2, 1, 2]
Пример 2:
barcodes = [1, 1, 1, 1, 2, 2, 3, 3]
Результат:
[1, 2, 1, 2, 1, 3, 1, 3]
Пояснение:
Одинаковые значения 1 не стоят рядом, потому что мы разложили их через одну
позицию.
Ограничения:
1 <= barcodes.length <= 10⁴1 <= barcodes[i] <= 10⁴- Гарантируется, что ответ существует.
Решение
Главная проблема в этой задаче - самое частое значение. Если его расставлять слишком плотно, то одинаковые штрихкоды могут оказаться рядом.
Перейдите на Premium, чтобы продолжить
Разблокируйте доступ к этой статье и всем остальным материалам с NowInterview Premium
Перейти на Premium