Найти число, образованное путем сортировки цифр N после удаления соседних дубликатов

Опубликовано: 20 Сентября, 2022

Учитывая число N , задача состоит в том, чтобы удалить соседние дубликаты числа N , а затем отсортировать цифры числа N в порядке убывания.

Пример:

Input: N=11123134
Output: 433211

Input: N=22133455
Output: 54321

Подход: выполните следующие шаги, чтобы решить следующую проблему:

  1. Создайте карту для хранения частоты всех символов, скажем, mp .
  2. Создайте функцию getDigits , которая будет принимать целое число в качестве параметра и возвращать его в виде строки.
  3. Повторите эту строку и увеличивайте только частоту цифр, которые не имеют дубликатов в их предыдущем индексе.
  4. Повторите карту mp и создайте строку целых чисел, которая будет автоматически отсортирована.
  5. Преобразуйте эту строку в целое число и соответственно напечатайте ответ.

Ниже приведена реализация описанного выше подхода.

Временная сложность: O(logN)
Вспомогательное пространство: O(1)