LeetCode 14.最长公共前缀(python版)

news2024/12/29 8:56:46

需求

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:“”
解释:输入不存在公共前缀。

代码

class Solution():
    def max_common(self,strs):
        if not strs:  # 如果数组为空,则返回空字符串
            return ""

        min_len = min(len(word) for word in strs)  # 找到数组中最短字符串的长度

        for i in range(min_len):  # 遍历最短字符串的长度
            char = strs[0][i]  # 取第一个字符串的当前字符

            for word in strs:  # 遍历所有字符串
                if word[i] != char:  # 如果有任何一个字符串的当前字符与第一个字符串的当前字符不同
                    return strs[0][:i]  # 返回第一个字符串的当前字符之前的部分作为结果

        return strs[0][:min_len]  # 如果遍历完最短字符串的长度,没有找到不同的字符,则返回最短字符串作为结果

if __name__ == '__main__':
    call=Solution()
    strs1 = ["flower", "flow", "flight"]
    strs2 = ["dog", "racecar", "car"]
    print(call.max_common(strs1))
    print(call.max_common(strs2))

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1407317.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python使用pip命令安装外部库-项目内安装外部库-全局安装外部库

一、前言 在进行Python项目开发时需要安装一些外部库来扩展项目功能,因此需要了解pip命令的详细使用。 二、基本语法 1.安装库 pip install 包名 2.安装特定版本 pip install 包名版本号 3.升级库 pip install --upgrade 包名 4.卸载库 pip uninstall 包名 5.查看已…

智能调光芯片 PWM调光 模拟调光36V 48V 60V 72V-H5119SL

智能调光芯片是一种用于控制光照系统的集成电路,其主要功能是根据环境条件和用户需求智能调整光照强度。以下是智能调光芯片的基本工作原理: 传感器输入:智能调光芯片通常集成光感应传感器,用于检测周围环境的光照强度。传感器会…

2023 工业 AR 关键词:纵深和开拓

2023 年,以虚实融合、工业元宇宙为代表的“新数字化”升级在工业制造领域达成共识。 ▲五部委联合印发元宇宙行动计划 通过发展元宇宙赋能新型工业化 而相对过去几年的行业渗透广、落地场景多样的 AR 业务拓展与合作,#纵深和#开拓,成为 2023…

Pandas.DataFrame.idxmin() 最小值索引 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本: 本文基于 pandas2.2.0 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 传送门: Pandas API参考目录 传送门: Pandas 版本更新及新特性 传送门&…

C#用DateTime.Now静态属性返回日期的星期信息

目录 一、使用的方法 1.Now属性 2.ToString方法 二、示例 使用DateTime结构的Now静态属性,可以方便地获取系统日期信息。调用时间对象的ToString方法,在该方法的参数中添加适当的格式化字符串,将返回日期的星期信息。 一、使用的方法 1…

网络电视盒子哪个好?博主分享超高性价比网络电视盒子推荐

电视盒子是我们使用最多的数码产品,年货节很多朋友在纠结网络电视盒子哪个好,我这次的测评产品就是电视盒子,按照18款电视盒子的深度测评结果整理了网络电视盒子推荐,想知道网络电视盒子哪个好可以看看下面这五款电视盒子。 一&am…

【数学建模】插值与拟合

文章目录 插值插值方法用Python解决插值问题 拟合最小二乘拟合数据拟合的Python实现 适用情况 处理由试验、测量得到的大量数据或一些过于复杂而不便于计算的函数表达式时,构造一个简单函数作为要考察数据或复杂函数的近似 定义 给定一组数据,需要确定满…

ArcEngine添加点要素、线要素、面要素及学习总结

基于C#的ArcEngine二次开发教程(13):点、线、面要素的绘制_arcengine onmousedown-CSDN博客 https://www.cnblogs.com/cannel/p/11074343.html ArcEngine绘制点、线、多边形、矩形、圆形、椭圆的代码_arcengine 开发 生成矩形-CSDN博客 https…

keil5 查看stm32 寄存器的值

1 查看芯片内部寄存器的值,首先是在仿真状态下,首先仿真,程序运行。 2 点击菜单栏的 View -> System viewer ,右侧便会出现芯片的所有寄存器(如果没有,需要添加),点击要查看的寄存器,便会出…

【手撕C语言 第八集】函数栈帧的创建与销毁

文章目录 一、什么是函数栈帧?二、函数栈帧能解决什么问题呢?(1)局部变量是如何创建的?(2)为什么局部变量不初始化内容是随机的?(3)函数调用时参数是如何传递…

使用ffmpeg转换索尼老DV拍摄的VOB文件为mp4

一些背景故事 最近对象想用 CCD 拍照录像,家里刚好有一台快 20 年前的索尼 DV DCR-DVD653E,就是电池老化充不进去电了。 翻出来之后还感慨了一下:当年没有网购,价格不透明;有些地方也没有官方店,只有一两家…

Yuliverse:引领区块链游戏新篇章!

数据源:Yuliverse Dashboard 作者:lesleyfootprint.network 什么是 Yuliverse Yuliverse 是一款元宇宙游戏的先锋,是一款主打 Explore to earn 和 Social to earn 的链游。 这是一款能让你边玩边赚钱的免费区块链游戏,得到 LI…

解决docker desktop 登录不上账号的问题

一、背景 点击“Sign in”,一直卡在Verifying credentials...,重试也没用。 二、解决办法 1、macOS下载并安装Proxifier 2、配置Proxifier 配置Proxies 配置rule 其中的Applications填:"Docker.app"; "Docker"; com.…

机器学习之聚类-2D数据类别划分

无监督学习(Unsupervised Learning) 机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。 方式一:站着或坐着 方式二:全身或半身 方式三:蓝眼球或不是蓝眼球 …

解决TortoiseGit软件Git Show log时显示Too many files to display的问题

1 问题描述 有时代码提交修改的文件比较多,当查看log时无法显示出来修改的文件列表,如下所示: 2 解决方法 将LogTooManyItemsThreshold尽可能配置得大一些。 三 参考资料 https://gitlab.com/tortoisegit/tortoisegit/-/issues/3878

使用 Docker 部署 ServerStatus 服务器监控系统

一、ServerStatus 介绍 GitHub:https://github.com/cppla/ServerStatus ServerStatus 是一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针~。 特性 使用 Rust 完全重写 Server、Client,单个执行文件部署支持上下线和简单自定义规则告警 (T…

01. eNSP环境以及VRP基本使用

eNSP的基本使用 1. eNSP的桥连接1.1. 具体操作(1)创建环回适配器(2)设置虚拟网卡(3)使用eNSP桥接计算机 2. 华为VRP系统2.1. 实验1:VRP的基本操作2.2. 实验2:文件命令(1&…

mysql 基础(三)

一、多表设计 数据库设计范式 第一范式(确保每列保持原子性) 第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第二范式就是要有主键,要求其他字段都依赖于主键。 没有主键就没有唯一性&…

el-tree勾选后退出再打开显示之前已经勾选的

官网文档 element-ui官网文档有默认展开和默认选中 <el-tree:data"data"show-checkboxnode-key"id":default-expanded-keys"[2, 3]":default-checked-keys"[5]":props"defaultProps"> </el-tree><script>…

力扣518. 零钱兑换 II

动态规划 思路&#xff1a; 假设 dp[i] 为金额 i 使用零钱的组合数&#xff0c;其可以由其中的一种零钱 coin 和 i - coin 组合&#xff1b; 遍历零钱数组&#xff0c;对每一种零钱 coin 进行如下操作&#xff1a; 从 coin 到 amount 金额进行遍历&#xff0c;dp[j] dp[j] d…