0
点赞
收藏
分享

微信扫一扫

【Leetcode】贪心算法-分配问题-14


>​​0️⃣python数据结构与算法学习路线​​

>学习内容:
>- 基本算法:枚举、排序、搜索、递归、分治、优先搜索、贪心、双指针、动态规划等...
>- 数据结构:字符串(string)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)、数组、队列、栈、树、图、堆等...

题目:

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ​​""​​。

输入输出:

输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

解题思路:

按顺序判断每个字符串是不是跟第一个字符串相同,不相同则缩短res的长度继续判断

算法实现: 

class Solution:
def longestCommonPrefix(self, s: List[str]) -> str:
if not s:
return ""
res = s[0]
i = 1
while i < len(s):
while s[i].find(res) != 0:
res = res[0:len(res)-1]
i += 1
return res

出现问题:

1. s[i].find(res)

str.find(res)会返回第一次出现res的位置,如果s[i]中包含res则会返回0,不然返回-1

举报

相关推荐

0 条评论