力扣-字符串的最长公共前缀

1 采用纵向比较的方法,即以这个字符串数组的第一个字符串作为参照对象,纵向就是同时比较每个字符串的同样位置上的元素是否相同,所以外部循环负责控制走到哪个位置了,内部循环就把后面要比较的每个字符串的当前位置上的元素拿出来比较。

循环结束也就是不比了结束了的条件是,要么找到了LCP,也就是到了一个有元素大家有不同的位置上,那就返回这个位置之前的所有字符;要么就是找完了,走到要比较的字符串末尾了。如果是第一个被参照的字符串先走到末尾,那这个字符串本身就是LCP呀。

2 考虑的几个特殊情况:字符串数组为空,即不存在最长公共前缀(LCP),返回“”;

字符串数组只有一个字符串,LCP就是其本身哦!因为这个函数有返回类型,所以别忘了这个情况;

每个字符串都不没有相同的,无LCP,返回“”,但是如果返回substr(0,0),其实就是“”。

3 substr(a,b)取字符串中下标范围[a,b)(跟python很像)

class Solution {
public:string longestCommonPrefix(vector<string>& strs) {if(strs.size()==0){return "";}string res;for(int i=0;i<strs[0].size();i++){char c=strs[0][i];for(int j=1;j<strs.size();j++){if(c!=strs[j][i]||i==strs[j].size()){res=strs[0].substr(0,i);return res;}}}return strs[0];}
};

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

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

相关文章

LeetCode 300. 最长递增子序列 题解(C,C++) (包含动态规划与贪心的区别的资料)

题目链接&#xff1a; - 力扣&#xff08;LeetCode&#xff09; 资源&#xff1a; 关于动态规划和贪心算法的区别&#xff0c;动态规划的常见题型&#xff0c;我总结了一些&#xff08;还有文档哦&#xff0c;持续更新&#xff0c;以后有扩充&#xff09;&#xff0c;大家可移…

外卖店优先级c++

题目 输入样例&#xff1a; 2 6 6 1 1 5 2 3 1 6 2 2 1 6 2输出样例&#xff1a; 1样例解释 6时刻时&#xff0c;1 号店优先级降到 3&#xff0c;被移除出优先缓存&#xff1b;2 号店优先级升到 6&#xff0c;加入优先缓存。 所以是有 1 家店 (2 号) 在优先缓存中。 思路 …

docker 安装部署 jenkins

今天 小☀ 给大家普及一下什么是 jenkins&#xff01;&#xff01; Jenkins是一个开源软件项目&#xff0c;基于Java开发的持续集成工具。它提供了一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。Jenkins起源于Hudson&#xff0c;主要用于持续、自动地构建、…

C语言 自定义类型:结构体

目录 前言 一、结构体类型 1.1 结构体的声明 1.2 结构体变量的创建和初始化 1.3 结构体的特殊声明 1.4 结构体的自引用 二、结构体的对齐 2.1 对齐规则 2.2 内存对齐的原因 2.3 修改默认对齐数 2.4 结构体传参 三、结构体实现位段 3.1 位段的内存分配 3.2 段的跨平…

我面了昆仑天工大模型算法岗,题是真硬啊。。。

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂同学、参加社招和校招面试的同学&#xff0c;针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 合集在这…

通过JWT完成token登录验证

前言 什么是JWT&#xff1f; 全称是JSON Web token&#xff0c;是用于对应用程序上的用户进行身份验证的标记&#xff0c;使用 JWTS 的应用程序不再需要保存有关其用户的 cookie 或其他session数据 使用JWT的优势 提高了程序的可伸缩性&#xff0c;也极大的提高了应用程序的安全…

几种常见的IO模型学习

IO模型 IO模型&#xff08;输入输出模型&#xff09;是计算机科学中用于描述程序如何处理输入、产生输出以及与外部系统交互的一种概念模型。在操作系统和网络编程中&#xff0c;IO模型尤其重要&#xff0c;因为它们决定了程序如何与文件、网络套接字和其他资源进行通信。以下…

Harbor介绍

1.什么是Harbor Harbor是一个开源的企业级Docker Registry管理项目&#xff0c;由VMware公司开源。 Harbor提供了比Docker官方公共镜像仓库更为丰富和安全的功能&#xff0c;尤其适合企业环境使用。以下是Harbor的一些关键特性&#xff1a; 权限管理&#xff08;RBAC&#x…

复试专业前沿问题问答合集5

复试专业前沿问题问答合集5 深度学习与机器学习问答 Q1: 机器学习和深度学习之间的关系是什么? A1: 深度学习是机器学习的一个子集。机器学习是一种使计算机能够从数据中学习并做出决策或预测的技术,而深度学习特指使用深层神经网络进行学习和模式识别的方法。深度学习在图…

Ribbon知识点

1、通过类实现重写Ribbon规则 1.1注意 这个类一定不能跟启动类放在同一个包下面&#xff0c;不能被componentScan给扫描到。 需要如图放置&#xff1a; 要是被componentScan给扫描到&#xff0c;则会被所有的服务提供方所共享&#xff0c;那么就不能实现指定服务用不同的Ribbo…

灵神DP题单---划分型 DP---§6.1 判定能否划分

这里的状态定义一般使用DP【i】 表示 考虑前i个东西能否满足条件&#xff0c;然后我们枚举上一次的转移位置就好了 2369. 检查数组是否存在有效划分 需要注意的是我习惯从1开始写&#xff0c;所以要处理好边界的下标问题 class Solution { public:bool validPartition(vector&l…

LeetCode刷题记录——day4

https://leetcode.cn/problems/trapping-rain-water/description/?envTypestudy-plan-v2&envIdtop-interview-150 对于一个可以构成“碗”的序列&#xff0c;最后装满水的话应该和最短的一边齐平&#xff0c;那么可以左右各遍历一次&#xff0c;记录每个元素位置对应的最短…

最大中位数(c++题解)

题目描述 题目描述 给定一个由 个整数组成的数组 &#xff0c;其中 为奇数。 你可以对其进行以下操作&#xff1a; 选择数组中的一个元素&#xff08;例如 &#xff09;&#xff0c;将其增加 &#xff08;即&#xff0c;将其替换为 &#xff09;。 你最多可以进行 次操…

java网络原理(三)----三次握手四次挥手

三次握手 三次握手是建立连接的过程&#xff0c;四次挥手是断开连接的过程&#xff0c;三次握手发生在socket.accept()之前。 客户端和服务器尝试建立连接的时候服务器就会和客户端进行一系列的数据交换称为握手&#xff0c;这个过程建立完了后&#xff0c;连接就好了。 A和B…

Matlab有限差分法求解狄利克雷(Dirichlet)边界的泊松(Poisson)问题,边界值为任意值

参考l链接&#xff1a; 有限差分法简介有限差分法-二维泊松方程及其Matlab程序实现弹性力学方程 有限差分法matlab,泊松方程的有限差分法的MATLAB实现 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Matrix method for Poisson Equation …

基于python+vue的OA公文发文管理系统flask-django-php-nodejs

系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对OA公文发文管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的…

使用 Amazon SageMaker 微调 Llama 2 模型

本篇文章主要介绍如何使用 Amazon SageMaker 进行 Llama 2 模型微调的示例。 这个示例主要包括: Llama 2 总体介绍Llama 2 微调介绍Llama 2 环境设置Llama 2 微调训练 前言 随着生成式 AI 的热度逐渐升高&#xff0c;国内外各种基座大语言竞相出炉&#xff0c;在其基础上衍生出…

部署es集群

我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。 部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有4G的内存空间 创建es集群 首先编写一个docker-compose文件,内容如下: v…

nginx有哪些功能

Nginx拥有丰富且强大的功能&#xff0c;主要包括但不限于以下几点&#xff1a; Web服务器&#xff1a; 提供HTTP服务&#xff0c;能够高效地分发静态内容&#xff0c;如HTML、CSS、JavaScript、图片、视频等。支持HTTP/2、WebSocket等多种协议。可以设置防盗链、缓存控制、重写…

掌握ChatGPT:如何用AI撰写高质量论文

ChatGPT无限次数:点击直达 掌握ChatGPT&#xff1a;如何用AI撰写高质量论文 在当今信息爆炸的时代&#xff0c;人们不仅需要大量信息&#xff0c;还需要这些信息的整理与创新。人工智能技术正是我们在这个信息化时代最强大的助手之一。ChatGPT是一款基于大型神经网络的语言生成…