words из строк одинаковой длины. Представьте их записанными друг под другом, как таблицу: строка words[i] — это ряд, а символы на одной позиции во всех словах образуют столбец.
Можно вычеркнуть любой набор столбцов: выбранная позиция удаляется сразу из всех слов. Например, если из ['bread', 'flame'] вычеркнуть столбцы 0 и 3, получится ['rea', 'lae'].
Нужно, чтобы после вычёркивания слова шли в алфавитном порядке сверху вниз: words[0] <= words[1] <= ... <= words[n - 1]. Верните наименьшее число столбцов, которые для этого придётся вычеркнуть.
Обратите внимание: буквы внутри одного слова упорядочивать не нужно — важен только порядок самих слов.words=['bd', 'ac', 'ca'] → 2
Сейчас bd > ac, порядок нарушен. Если вычеркнуть только первый столбец, останутся d, c, a; если только второй — b, a, c. Ни то, ни другое не упорядочено, поэтому вычёркиваем оба: три пустые строки уже идут по порядку. Ответ 2.
words=['cat', 'cog', 'dab'] → 0
Строки уже идут по алфавиту: cat ≤ cog ≤ dab. Ничего вычёркивать не нужно.
words=['xay', 'xbx', 'ycz'] → 0
Первый столбец x, x, y не разделяет первые две строки, их решает второй столбец: a < b. Третий столбец (y > x) уже ни на что не влияет, его можно оставить.
words=['bd', 'ac', 'ca']
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 197 тестов на сервере, включая скрытые.