Пришло время размяться — предлагаем решить задачу от Сергея Константинова, наставника на курсах «Фронтенд-разработчик» и «Фулстек-разработчик».
Дан массив строк, представляющий пути к файлам в файловой системе. Необходимо написать функцию, которая найдёт самый длинный общий префикс для всех путей. Если общего префикса нет, то функция должна вернуть пустую строку.
Ограничения:
Количество строк в массиве: 1 <= N <= 10^5
Длина каждой строки: 1 <= длина <= 10^3
Пример:
const paths = [
"/home/user/docs/file.txt",
"/home/user/docs/image.png",
"/home/user/downloads/music.mp3"
];
Ответ:
"/home/user/"?Подсказка:
Решение должно быть эффективным по времени, желательно не хуже O(N * M), где N — количество путей, а M — длина самой короткой строки.
Задавайте любые вопросы и делитесь своими догадками в комментариях. А мы вернёмся с одним из вариантов решения уже на этой неделе ✍️