Моя подруга получила этот вопрос в интервью, и мне так понравилось, что я решил поделиться с ним... Напишите алгоритм, который получает словарь (массив слов). Массив сортируется лексикографически, но порядок abc может быть любым. Например, это могут быть z, y, x,.., c, b, a. Или это может быть полностью испорчено: d, g, w, y,... В него даже не нужно включать все буквы abc, и, наконец, это вовсе не буквы. Это могут быть любые символы, которые образуют строку. Например, он может состоять из 5, α,!, @, Θ... Вы поняли эту идею. Это зависит от вашего алгоритма, чтобы узнать, что такое буквы (легкая часть).
Алгоритм должен возвращать правильный лексикографический порядок символов.
Примечание/Что нужно учитывать: 1. Для данного словаря вы всегда можете обнаружить полный порядок всех букв? Рассмотрим словарь, который имеет только 1 слово, с более чем 1 символом... 2. НЕ МОЖЕТ предположить, что словарь без ошибок. Алгоритм должен определить, содержит ли словарь противоречия и выводит ошибку. 3. СОВЕТ. Подумайте о хорошей структуре данных для представления отношений, которые вы обнаружите между символами. Это должно сделать проблему намного проще.
Я опубликую свое решение, вероятно, завтра. Я вовсе не утверждаю, что это самый эффективный. Сначала я хочу увидеть мысли других людей. Надеюсь, вам понравится вопрос
P.S. Я думаю, что лучший формат для публикации решений - с псевдокодом, но я оставляю это на ваше рассмотрение