Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 1.75 KB

Поиск самого длинного общего префикса в строках.md

File metadata and controls

53 lines (34 loc) · 1.75 KB

Поиск самого длинного общего префикса в строках

Еще одна задача, для которой брутфорс решение является оптимальным. Такие задачи часто дают в качестве первой «разогревочной» задачи на собеседованиях.

Сложность: 🟢 Легкая

ℹ️ Описание

Напишите функцию, которая принимает на вход массив строк и возвращает в ответ максимально длинный общий префикс

⚠️ Ограничения

🔹Длина массива от 1 до 200 элементов

🔹Длина строки в массиве от одного до 200 символов

🔹Строка состоит только из символов латинского алфавита

1️⃣ Пример

Входящие данные: ["flower","flow","flight"]

Ответ: "fl"

Объяснение: ["flower","flow","flight"]

2️⃣ Пример

Входящие данные: ["dog","racecar","car"]

Ответ: ""

Объяснение: У строк нет общего префикса

  • Ответ
     func longestCommonPrefix(_ strs: [String]) -> String {
        var res = strs[0]
        for ch in strs {
            while !ch.hasPrefix(res) {
                res = String(res.dropLast())
            }
        }
        return res
    }
    Оценка по времени: O(n*k)
    )
    Оценка по памяти: O(k)

Ссылка:

LeetCode - The World's Leading Online Programming Learning Platform