Проверьте, можно ли использовать цифры из конкатенации даты и месяца для формирования данного года
Опубликовано: 21 Сентября, 2022
Даны три строки D , M и Y , представляющие дату. Задача состоит в том, чтобы проверить, дает ли конкатенация даты и месяца те же цифры, что и год.
Примеры :
Input: D = 20, M = 12, Y = 2001
Output: Yes
Explanation: Below are the operations performed:
D + M = 2012, Set1 = 0, 1, 2
Y = 2001, Set2 = 0, 1, 2
Set1 = Set2, Therefore the answer is Yes.Input: D = 26, M = 07, Y = 2001
Output: No
Подход : Данную проблему можно решить с помощью хеширования. Выполните следующие шаги, чтобы решить данную проблему.
- Объявите две неупорядоченные карты, скажем, s1 и s2 , которые будут хранить пару (char, boolean) .
- Создайте строки total_concat , в которых будут храниться D + M.
- Пройдите как total_concat , так и Y и сохраните символы в s1 и s2 соответственно.
- Запустите цикл for и вставьте все числа total_concat в set1 и Y в set2.
- Сравните две карты s1 и s2 :
- Если s1 = s2 , вернуть Да .
- В противном случае верните No .
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(Y), где Y — размер года.
Вспомогательное пространство: O(1)