Самый длинный общий префиксPython

Программы на Python
Ответить
Anonymous
 Самый длинный общий префикс

Сообщение Anonymous »

Напишите функцию для поиска самой длинной строки общего префикса среди массива строк. Если общего префикса нет, верните пустую строку "".
Пример: Входные данные: strs = ["flower","flow","flight"]
Выходные данные: "fl"
Я новичок в программировании и пытаюсь решить эту проблему (из leetcode). мой способ - найти самую короткую строку между строками, вот мой код, я не могу понять, где я сделал не так, кажется, цикл while вообще не работает. Я ценю, если кто-то может мне помочь. вот мой код:

Код: Выделить всё

class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
string = ""
len_st = []
for st in strs:
len_st.append(len(st))
m = min(len_st)
prefix = strs[len_st.index(m)]
while prefix:
for st in strs:
if prefix in st:
continue
else:
prefix = prefix.replace(prefix[-1], "")
break
return prefix
else:
return ""
вход: ["flower","flow","flight"]
выход: "flo"
ожидаемый результат: "fl"

Подробнее здесь: https://stackoverflow.com/questions/681 ... mon-prefix
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»