马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Cccf$ 于 2022-11-22 18:09 编辑
一题目描述:
二思路分析:
通读题目可以发现这是一个简单题,关键在于如何减少内存和时间的花费。
1.题目要求公共前缀,这要求我们遍历strs以及其每个元素嵌套的字符串,再进行比对。
2.关于比对,我们不能傻乎乎的跨元素比对,效率太低下,比对要求是字母相同,从这一点我们应该想到集合唯一性。
3.那我们如何将strs每个元素里的字母按顺序放在同一个集合里利用唯一性呢,内置函数zip前来报到。
4利用'*'在实参里的解包作用得到len(min(strs,key=lambda x : len(x)))个集合构成的列表
5遍历这个列表,轻松得倒result
代码及提交结果:class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
result = ''
for i in zip(*strs):
if len(set(i)) == 1:
result += i[0]
else:
break
return result
|