力扣(LeetCode)14. 最长公共前缀(C++)

news2025/7/12 9:26:34

模拟

取出 s t r s strs strs 的第一个字符串 s t r s [ 0 ] strs[0] strs[0] , 遍历 s t r s [ 0 ] strs[0] strs[0] , 依次比较所有串的当前位置的字符,是否和 s t r s [ 0 ] strs[0] strs[0] 的当前字符相同。

代码展示

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        int n = strs[0].size();
        string ans;
        if(strs.empty()) return ans;
        int i = 0;
        while(i<n){
            for(auto &x:strs){
                if(x.size()<=i || x[i]!=strs[0][i]) return ans;
            }
            ans += strs[0][i];
            i++;
        }
        return ans;
    }
};

时间复杂度 O ( n × ∑ i = 0 n − 1 m i ) O(n\times \sum_{i=0}^{n-1} m_i) O(n×i=0n1mi) n n n s t r s strs strs 的长度, m i m_i mi s t r s [ i ] strs[i] strs[i] 的长度。遍历所有串的所有字符,时间复杂度 O ( n × ∑ i = 0 n − 1 m i ) O(n\times \sum_{i=0}^{n-1} m_i) O(n×i=0n1mi)

空间复杂度 O ( 1 ) O(1) O(1) , 除答案所使用的空间外,没有使用额外的线性空间 。

博主致语

理解思路很重要!
欢迎读者在评论区留言,作为日更博主,看到就会回复的。

AC

AC

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

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

相关文章

现代修谱,如何处理族员离婚再娶,配偶携子改嫁同服弟等情况

现代修谱的那些糟心事 现代修谱过程中&#xff0c;会遇到各种突发情况以及非常棘手的问题。比如说族员离婚再娶&#xff0c;配偶携子改嫁同服弟的情况&#xff0c;族谱该如何记载&#xff1f;很多人都以为这是笔者在说笑&#xff0c;但这种情况在修谱时&#xff0c;不能说很难…

Qt源码解析11-QLineEdit与QValidator关系源码解析

Qt源码解析 索引 Qt源码解析11-QLineEdit与QValidator关系源码解析 测试 本想了解QRegExpValidator的正则表达式如何生效的&#xff0c;发现分析起来比想象的复杂。 测试实例&#xff1a; // regexp: optional - followed by between 1 and 3 digitsQRegExp rx("-?\…

JUC学习笔记——共享模型之管程

在本系列内容中我们会对JUC做一个系统的学习&#xff0c;本片将会介绍JUC的管程部分 我们会分为以下几部分进行介绍&#xff1a; 共享问题共享问题解决方案线程安全分析Monitorsynchronized锁Wait/notify模式之保护性暂停模式之生产者消费者park线程状态转换详解多锁操作活跃…

学生护眼灯怎么选择?推荐学生护眼台灯十大名牌排行榜

护眼台灯是学生们常用的照明产品&#xff0c;也是最受喜爱的护眼产品之一&#xff0c;选购一款护眼台灯要看什么指标呢&#xff1f;除了外观、价格上&#xff0c;更重要的是五个硬性标准&#xff0c;照度、显色、频闪、色温、蓝光。 为了大家更快速选择出合适的台灯&#xff0…

基于51单片机的出租车计价器proteus仿真原理图PCB

功能&#xff1a; 0.本系统采用STC89C52作为单片机 1.LCD1602液晶显示有四个状态 a) 时间显示 b) 时间设置 c) 计价器显示 d) 计价器设置 2.按键切换四个不同显示状态 3.默认为时间显示状态&#xff0c;长按’切换‘键切换至计价器模式 4.在时间显示状态下按‘设置’键可设置时…

C++类的运算符重载.md

11.8 类的运算符重载 运算符重载是一种形式的C多态 运算符重载将充值该的概念扩展到运算符上&#xff0c;允许赋予C运算符多种含义。 C允许将运算符重载扩展到用户定义类型&#xff0c;例如&#xff0c;允许使用将两个对象相加。 11.8.1 操作符重载定义 要重载运算符&#xff0…

FutureTask-详解(二)-ThreadPollExecutor-并发编程(Java)

文章目录1 FutureTask1.1 简介1.2 成员变量1.3 构造方法1.4 主要执行流程分析1.4.1 run任务执行1.4.1.1 run方法1.4.1.2 set(result)方法1.4.1.3 setException(ex)方法1.4.1.4 finishCompletion()方法1.4.2 get() 执行流程1.4.2.1 get()方法1.4.2.2 awaitDone()方法1.4.2.3 rem…

C++获取计算机硬件信息(Linux)

C获取计算机硬件信息&#xff08;Windows&#xff09; https://blog.csdn.net/hhy321/article/details/121258036 C获取计算机硬件信息&#xff08;Linux&#xff09; https://blog.csdn.net/hhy321/article/details/127930470 “春赏百花秋望月&#xff0c;夏有凉风冬观雪。若…

InnoDB之Undo log写入和恢复

1. 前言 为了实现事务的回滚和MVCC&#xff0c;InnoDB设计了Undo log模块&#xff0c;简单来说就是在修改记录前先记下日志&#xff0c;以便之后能将记录恢复成修改前的样子。针对insert、delete、update这三种不同的操作&#xff0c;InnoDB设计了不同类型的undo log&#xff…

Redis 常见问题

一、 什么是Redis&#xff1f; Redis 是一个使用 C 语言写成的&#xff0c;开源的高性能key-value非关系缓存数据库&#xff1b;Redis的数据都基于缓存的&#xff0c;所以很快&#xff0c;每秒可以处理超过 10万次读写操作&#xff1b;Redis也可以实现数据写入磁盘中&#xff…

Spring源码里开天辟地的五个Bean,再介绍一个学习方法

准备工作 首先咱们还是来写一个最简单的例子&#xff1a; 用的还是 https://github.com/xiexiaojing/yuna 里的代码&#xff0c;只是标签和引用都换成了Spring原生的。 配置类就是配置了扫描路径&#xff1a; 在可以被扫描的包路径下定义了一个Bean对象。用了Component注解这…

Java#16(包装类和集合练习)

目录 基本数据类型对应的包装类: 一.添加学生对象并遍历 二.添加用户对象并判断是否存在 三.添加手机对象并返回要求的数据 基本数据类型对应的包装类: byte------>Byte short------->Short char------->Character int------->Integer long------->Long flo…

MRT(MODIS Reprojection Tool) 下载及安装教程

大家下载MODIS数据的时候&#xff0c;大多是hdf的格式数据。HDF数据包括11个波段的数据&#xff08;如下图&#xff09;&#xff0c;假如想要其中一个波段数据&#xff0c;我们需要批量提取&#xff0c;这时就要用到NASA提供的MODIS Reprojection Tool&#xff0c;此工具虽不能…

c++ 指针,new运算符

1、指针相关基础知识&#xff1a; 1.1、指针一般指向变量的地址&#xff0c;等同于变量名前加&&#xff0c;如下&#xff1a; int a 3; int* p; p &a; 1.2、 * 符号被称为间接值运算符或解除引用运算符&#xff0c;将其运用于指针&#xff0c;可以获取指针指向的值…

【Java八股文总结】之IO流

文章目录Java IO流一、IO基础知识1、字节流2、字符流3、字节缓冲流4、打印流5、随机访问流6、字节流和字符流的区别&#xff1f;二、IO设计模式1、装饰器模式2、适配器模式Q&#xff1a;适配器模式和装饰器模式的区别&#xff1f;3、工厂模式4、观察者模式三、IO模型详解&#…

柯桥留学日语培训机构有吗日本人平时都喝什么酒?

日本葡萄酒侍酒大师高野丰先生&#xff0c;带来一瓶在北海道发现的陈年白兰地。 那是2014年的事&#xff0c;高野先生去北海道十胜地区的一家葡萄酒厂考察&#xff0c;在一个多年未开启的葡萄酒储存库的角落里&#xff0c;发现了一只陈旧的酒桶&#xff0c;他很好奇地问酒厂的…

Javaweb filter过滤器 跟 listener监听器

Filter 权限控制&#xff1a;登录才能进数据库等 统一编码&#xff1a;统一各种编码 Filter快速入门 放行前&#xff0c;我们对request里的数据进行处理 处理完&#xff0c;然后放行&#xff0c;携带到对应的资源里去 放行后&#xff0c;对response的数据进行处理 //将re…

C/C++问题:一个指针的大小是多少?怎么理解指针变量的存在

目录 举例 一、 int a; int (*(*v)[])(); 二、 int func(); int (*func)(); 三、 const; int const a; const int a; int const*r; int *const r; 四、一个指针的大小是多少&#xff1f;&#xff08;补充&#xff09; 举例 一、 int a; 可以看到上面声明了一个变…

【MySQL基础】SQL语言的概述、组成及特点

目录 一、SQL的概述 二、SQL语言的组成 三、SQL语言的特点 语法特点&#xff1a; &#x1f49f; 创作不易&#xff0c;不妨点赞&#x1f49a;评论❤️收藏&#x1f499;一下 一、SQL的概述 SQL全称&#xff1a; Structured Query Language&#xff0c;是结构化查询语言&am…

数据结构先序序列创建二叉树

2022.11.19连发两回。 先序序列创建二叉树任务描述相关知识编程要求测试说明C/C代码任务描述 本关任务&#xff1a;利用先序遍历创建二叉树&#xff0c;并给出相应二叉树的中序遍历结果。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.二叉树的前序遍历&a…