鱼C论坛

 找回密码
 立即注册
查看: 1427|回复: 0

[技术交流] 浅谈Leetcode14

[复制链接]
发表于 2022-11-22 18:07:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

                               
登录/注册后可看大图


屏幕截图_20221122_175428.png
屏幕截图_20221122_151037.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 13:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表