Ctrl K

Вырезать столбцы ради порядка в строках

Сложная
Дан список rows строк одинаковой длины — представьте их как таблицу букв, где строка — ряд, а позиция символа — столбец. Можно вырезать любые столбцы: выбранная позиция удаляется сразу из всех строк. Нужно, чтобы после этого **каждая** строка по отдельности шла в алфавитном порядке (соседние буквы не убывают). Порядок строк относительно друг друга не важен. Верните наименьшее число столбцов, которые придётся вырезать.
Пример 1
rows=["cadb", "bcxd"] → 2

Оставим столбцы 1 и 3: строки станут ab и cd, обе упорядочены. Вырезано 2 столбца; оставить три не получится.

Пример 2
rows=["pqr", "abz", "mmm"] → 0

Каждая строка уже идёт по алфавиту, резать ничего не нужно. То, что сами строки не упорядочены между собой, неважно.

Пример 3
rows=["zyxw"] → 3

Буквы строго убывают, поэтому остаться может только один столбец: вырезаем 3.

Ограничения
  • 1 ≤ len(rows) ≤ 100
  • 1 ≤ len(rows[i]) ≤ 100, все строки одной длины
  • Строки состоят из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе способы расставить пробелы СложнаяСлова из других слов СложнаяЧисла с рабочих клавиш СложнаяСклейка фрагментов СложнаяЛучший набор слов из фишек Сложная
загружаем Python…
Вход
rows=["cadb", "bcxd"]
Ожидается
2

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