Сложность: easy
Учитывая массив строк words, верните наименьшую строку, которая содержит каждую строку в words в качестве подстроки. Если существует несколько допустимых строк наименьшей длины, верните любую из них. Вы можете предположить, что ни одна строка в words не является подстрокой другой строки в words.
Пример:
Input: strs = ["cba","daf","ghi"]
Output: 1
👨💻 Алгоритм:
1⃣Инициализировать переменную count для отслеживания количества столбцов, которые нужно удалить.
2⃣Пройти по каждому столбцу от 0 до длины строки.
Для каждого столбца проверить, отсортированы ли символы лексикографически.
Если столбец не отсортирован, увеличить count.
3⃣Вернуть count.
😎 Решение:
class Solution {
func minDeletionSize(_ strs: [String]) -> Int {
var count = 0
let strs = strs.map { Array($0) }
for col in 0..<strs[0].count {
for row in 1..<strs.count {
if strs[row][col] < strs[row - 1][col] {
count += 1
break
}
}
}
return count
}
}Ставь 👍 и забирай 📚 Базу знаний