Мой друг только что получил интервью у Google и получил отказ, потому что он не мог дать решение этого вопроса.
У меня есть собеседование через пару дней, и я не могу понять, как его решить.
Здесь вопрос:
Вам предоставляется шаблон, например [a b a b]. Вам также предоставляется строка, пример "redblueredblue". Мне нужно написать программу, которая сообщает следует ли строка следовать за данным шаблоном или нет.
Несколько примеров:
Образец: [a b b a] String: catdogdogcat возвращает 1
Образец: [a b a b] Строка: redblueredblue возвращает 1
Образец: [a b b a] Строка: redblueredblue возвращает 0
Я подумал о нескольких подходах, таких как получение числа уникальных символов в шаблоне, а затем поиск множества уникальных подстрок строки, а затем сравнение с шаблоном с использованием хэш-карты. Однако это оказывается проблемой, если подстрока a является частью b.
Было бы здорово, если бы кто-нибудь из вас мог мне помочь.:)
UPDATE:
Добавлена информация: в шаблоне может быть любое количество символов (a-z). Два символа не будут представлять одну и ту же подстроку. Кроме того, символ не может представлять пустую строку.