Программа курса:
Внимание! Решать задачи может только авторизованный
пользователь. Пройдите регистрацию на сайте.
Задача 15: Совпадение DI строк
Напишите определение функции diStringMatch(s), которая принимает один аргумент:
s(строка) — строка, состоящая из символов'I'и'D', которая описывает порядок перестановки чисел.
Функция должна вернуть одну из возможных перестановок perm длины n + 1 (где n — длина строки s), состоящую из всех целых чисел в диапазоне [0, n], которая соответствует следующему правилу:
- Если
s[i] == 'I', тоperm[i] < perm[i + 1]. - Если
s[i] == 'D', тоperm[i] > perm[i + 1].
Если существует несколько подходящих перестановок, можно вернуть любую из них.
Примеры
Пример 1:
Ввод: s = "IDID"
Вывод: [0, 4, 1, 3, 2]
Объяснение:
Строка s соответствует следующему порядку:
'I': 0 < 4,'D': 4 > 1,'I': 1 < 3,'D': 3 > 2.
Пример 2:
Ввод: s = "III"
Вывод: [0, 1, 2, 3]
Объяснение:
Строка s соответствует следующему порядку:
'I': 0 < 1,'I': 1 < 2,'I': 2 < 3.
Пример 3:
Ввод: s = "DDI"
Вывод: [3, 2, 0, 1]
Объяснение:
Строка s соответствует следующему порядку:
'D': 3 > 2,'D': 2 > 0,'I': 0 < 1.
Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии