Ctrl K

Слово по таблице префиксов

Сложная
Для слова word длины n из строчных латинских букв составим таблицу n × n: в клетке [i][j] записана длина самого длинного общего начала суффиксов word[i:] и word[j:]. Вам дана такая таблица table. Восстановите по ней слово: верните лексикографически наименьшее word, которому соответствует ровно эта таблица. Если ни одно слово не подходит, верните пустую строку.
Пример 1
table=[[3, 0, 1], [0, 2, 0], [1, 0, 1]] → 'aba'

Суффиксы слова "aba" — "aba", "ba" и "a": у первого и третьего общее начало длины 1, а "ba" ни с кем не совпадает в начале. Это ровно данная таблица, и "aba" — наименьшее подходящее слово.

Пример 2
table=[[2, 1], [1, 1]] → 'aa'

Суффиксы "aa" и "a" имеют общее начало длины 1.

Пример 3
table=[[2, 0], [0, 2]] → ''

На диагонали стоит длина самого суффикса, а последний суффикс состоит из одной буквы — 2 там быть не может. Ответ — пустая строка.

Ограничения
  • 1 ≤ n == len(table) == len(table[i]) ≤ 1000
  • 0 ≤ table[i][j] ≤ n
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДальние прыжки по полю СложнаяНитка бус без повторов СредняяИгроки через одного ЛёгкаяПодходит ли строка под шаблон СложнаяСамый большой горящий блок Сложная
загружаем Python…
Вход
table=[[3, 0, 1], [0, 2, 0], [1, 0, 1]]
Ожидается
'aba'

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 73 теста на сервере, включая скрытые.