Выведите наибольшее целое число, образованное вставкой цифры X в заданную строку
Опубликовано: 22 Сентября, 2022
Имея строку S размера N , представляющую большое целое значение, и положительную цифру X , задача состоит в том, чтобы напечатать наибольшее целое число, образованное вставкой цифры X в строку S.
Примеры:
Input: S = “99”, X = 9
Output: 999
Explanation:
The largest number that can be formed is 999 after inserting 9 into “99”.Input: S = “-13”, X = 2
Output: -123
Explanation:
The largest number that can be formed is -123 after inserting 2 into “-13”.
Подход: проблема может быть решена путем повторения символа строки S . Выполните следующие шаги, чтобы решить эту проблему:
- Если число S положительное, то выполните следующие действия:
- Выполните итерацию в диапазоне [0, N-1], используя переменную i , и выполните следующие шаги :
- Если S[i] меньше X , то вставьте цифру X перед S[i] и разорвите цикл .
- Если ни один из вышеперечисленных случаев не удовлетворяет, добавьте цифру X в конец строки S.
- Выполните итерацию в диапазоне [0, N-1], используя переменную i , и выполните следующие шаги :
- В противном случае, если число S отрицательное, выполните следующие действия:
- Повторите в диапазоне [0, N-1] использование переменной i и выполните следующие шаги:
- Если S[i] меньше X , то вставьте цифру X перед S[i] и разорвите цикл.
- Если ни один из вышеперечисленных случаев не удовлетворяет, добавьте цифру X в конец строки S.
- Повторите в диапазоне [0, N-1] использование переменной i и выполните следующие шаги:
- Наконец, выведите максимально возможную строку, представленную S .
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(N)
Вспомогательное пространство: O(1)