tag-字符串:最长公共前缀

题目

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。

示例

在这里插入图片描述

题解一

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        # 按照字典顺序找到strs中最大的字符串和最小的字符串
        str0 = min(strs)
        str1 = max(strs)

        for i in range(len(str0)):
            # str0和str1如果本身就没有相同前缀,那么直接返回空字符串
            # str0和str1如果本身有相同前缀,那么能保证strs中所有字符串都存在相同前缀,这是min和max决定。此时只需要找到从哪里不一样就行了。决定最大相同前缀的最大长度取决于min,比如[‘apple’,‘apples’],str0=‘apple’,str1=‘apples’
            if str0[i]!=str1[i]:
                return str0[:i]
        return str0

在这里插入图片描述

题解二

# zip(*strs) 是 Python 中的一个常见技巧,它被用来将多个可迭代对象(比如列表)中对应位置的元素打包成一个元组的迭代器。
# 在这个特定的例子中,strs 是一个字符串列表,*strs 表示将列表中的元素分别传递给 zip() 函数,而不是将整个列表作为一个单独的参数传递。
# 假设 strs 是 ["abc", "def", "ghi"]。zip(*strs) 实际上等价于 zip("abc", "def", "ghi"),它将返回一个迭代器,包含了三个元组 ('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')。
class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        s = ""
        for i in zip(*strs):
            if len(set(i)) == 1:
                s += i[0]
            else:
                # 遇到不等于1的直接跳出循环
                break           
        return s    

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解二叉搜索树:原理、操作与应用

文章目录 二叉搜索树二叉搜索树的操作1.查找操作2.插入操作3.查找最大值或者最小值4.删除操作5.前序中序后序遍历 总结 二叉搜索树 形如上图的二叉树就是二叉搜索树,接下来我们来具体阐述一下什么是二叉搜索树。 二叉搜索树的概念:满足左子树的值小于根…

winform图书销售管理系统+mysql

winform图书销售管理系统mysql数据库说明文档 运行前附加数据库.mdf(或sql生成数据库) 功能模块: 管理员:ttt 123 登陆可以操作我的 个人信息 修改密码 用户信息 添加删除用户 图书 添加删除图书信息 购物车 购买订单信息 充值 退出账户 …

网络安全之弱口令与命令爆破(下篇)(技术进阶)

目录 一,什么是弱口令? 二,为什么会产生弱口令呢? 三,字典的生成 四,九头蛇(hydra)弱口令爆破工具 1,破解ssh登录密码 2,破解windows登录密码 3&#xf…

Cesium的使用和特点

Cesium 是一款开源的 JavaScript 库,用于在 Web 上可视化地理空间数据。它广泛用于创建 3D 地球、地图和其他地理空间应用程序。Cesium 具有以下特点使其成为地理空间开发的流行选择。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交…

华为OD机试 - 手机App防沉迷系统(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

git合并分支

1、vscode安装插件Git Graph 2、点击右下角分支,比如要把dev分支合并到其他分支 首先dev分支的全部提交了,然后切换到其他分支 3、选择被合并的分支 点提交就好了

中医课堂丨名医面对面,金保方教授专场健康科普交流圆满举行

5月8日下午,李良济特邀金保方教授,在苏州太湖国际高尔夫俱乐部,以“生殖健康漫谈”为主题开展专场科普交流活动,参与的嘉宾表示受益匪浅,反响强烈。 本次活动主要包含了专家讲座、专家答疑义诊,现在就让我…

Java基础编程(高级部分)

1. 类变量和类方法 1.1 什么是类变量 类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值同样任何一个该类的对象去修改它时,修改的也是同一个变量。 1.2 定义类变量 1.3 访问类变量 类名.类变量名 或者 对…

【GD32H757Z海棠派使用手册】第七讲 FWDG-看门狗实验

7.1 实验内容 通过本实验主要学习以下内容: 独立看门狗的原理 独立看门狗功能介绍 实现独立看门狗功能 7.2 实验原理 7.2.1 看门狗的原理 一般来说,搭配MCU的产品都需要有长期运行的需求,特别像一些工业设备,可能要求运行个…

微信团队开源的跨平台数据库框架 | 开源日报 No.249

Tencent/wcdb Stars: 10.4k License: NOASSERTION wcdb 是由微信开发的跨平台数据库框架。 该项目主要功能、关键特性、核心优势包括: 易于使用ORM(对象关系映射)WINQ(WCDB 语言集成查询)高效性能多线程并发支持完备…

element ui的无法关掉的提示弹框

使用element的$alert组件的属性把X去掉和确定按钮和取消按钮去掉; import { MessageBox } from element-ui; MessageBox.alert(AI功能已到期或暂未开启, 友情提示, {showClose: false,showCancelButton: false,showConfirmButton: false }); 如果在router的路由守…

QX------mini51单片机学习------(5)数码管的静态与动态显示

目录 1数码管应用场景 2数码管显示原理 3静态与动态显示 474HC573锁存器工作原理 5上拉电阻的作用 6原理图分析 7实践 1数码管应用场景 2数码管显示原理 图(b)左边是共阴极,右边是共阳极 GND是公共极,可以用万用表测&am…

C盘文件清理

WinSxS里面的文件是不可删除的。WinSxS下有很多重要的组件,版本也很繁杂,为了保证Windows的正常运行,请确保这些文件一个都不能少。这些文件支撑着mscorwks.dll,没有它们,mscorwks也无法加载。强行删除后可能只有以安全…

NASA数据集——全球土壤顶部 1 厘米土壤湿度的网格估算值25km分辨率

AMSR-E/Aqua L2B Surface Soil Moisture, Ancillary Parms, & QC EASE-Grids V003 简介 该数据集包含土壤顶部 1 厘米土壤湿度的网格估算值,是 AMSR-E 检索足迹的平均值。土壤湿度是通过 AMSR-E/Aqua L2A亮度温度(Tb)测量值估算的&…

远程连接是什么?

远程连接是指通过网络连接两个或多个设备,实现远程访问、控制或传输数据的技术。它在现代科技发展中起到了重要作用,使得我们可以随时随地与远程设备进行交互、管理和操作。 天联组网是一种高效的远程连接解决方案,它因为操作简单、跨平台应用…

「51媒体」教育论坛会议媒体邀约的资源有哪些

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 中国拥有众多教育方面的媒体资源,这些媒体在邀约时可以用于宣传和推广教育活动、论坛或项目。以下是一些具体的教育媒体邀约资源: 报纸类媒体: 《中…

MySQL库操作 表操作【详细解析】

MySQL MySQL是一个数据库软件 mysql mysql是一个“客户端—服务器”结构的软件 (1) a.客户端:主动发起请求的一方(Client) b.服务器:被动接收请求的一方(Server) 客户端和服务器之间通过网络 进行通信 (…

【Stylus详解与引入】

文章目录 Stylus详解与引入一、Stylus简介二、Stylus的特性1. 变量2. 嵌套规则3. 混合(Mixins)4. 函数5. 条件语句和循环 三、Stylus的引入与配置1. 安装Stylus和stylus-loader2. 配置Webpack3. 在Vue项目中使用Stylus4. 编译Stylus代码四、Stylus的性能…

美国商务部公布数字孪生技术投资计划

文章目录 前言一、主要内容二、相关背景‍‍‍‍前言 5月6日,美国商务部公布了一项价值2.85亿美元的投资计划,这项名为《美国芯片制造研究竞标》(CHIPS Manufacturing USA Institute Competition)的投资计划旨在向符合条件的申请者进行征求招标,协调建立和运营美国芯片制…

LeetCode-2079. 给植物浇水【数组 模拟】

LeetCode-2079. 给植物浇水【数组 模拟】 题目描述:解题思路一:简单的模拟题,初始化为0,考虑先不浇灌每一个植物解题思路二:初始化为n,考虑每一个植物需要浇灌解题思路三:0 题目描述&#xff1a…