当前位置: 首页 > news >正文

14.最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入:strs = ["flower","flow","flight"]

输出:"fl"

示例 2:

输入:strs = ["dog","racecar","car"]

输出:""

解释:输入不存在公共前缀。

来源:力扣(LeetCode)

链接:https://leetcode.cn/problems/longest-common-prefix

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法:纵向扫描。

纵向扫描时,从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则当前列不再属于公共前缀,当前列之前的部分为最长公共前缀。

class Solution {

public:

string longestCommonPrefix(vector<string>& strs) {

if (!strs.size()) {

return "";

}

int length = strs[0].size();

int count = strs.size();

for (int i = 0; i < length; ++i) {

char c = strs[0][i];

for (int j = 1; j < count; ++j) {

if (i == strs[j].size() || strs[j][i] != c) {

return strs[0].substr(0, i);

}

}

}

return strs[0];

}

};

时间复杂度:O(mn),其中 m 是字符串数组中的字符串的平均长度,n 是字符串的数量。最坏情况下,字符串数组中的每个字符串的每个字符都会被比较一次。

空间复杂度:O(1)。使用的额外空间复杂度为常数。

相关文章:

14.最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀&#xff0c;返回空字符串 ""。示例 1&#xff1a;输入&#xff1a;strs ["flower","flow","flight"]输出&#xff1a;"fl"示例 2&#xff1a;输入&…...

【免费教程】 SWMM在城市水环境治理中的应用及案例分析

SWMMSWMM&#xff08;storm water management model&#xff0c;暴雨洪水管理模型&#xff09;是一个动态的降水-径流模拟模型&#xff0c;主要用于模拟城市某一单一降水事件或长期的水量和水质模拟。EPA&#xff08;Environmental Protection Agency&#xff0c;环境保护署&am…...

SortableJS/Sortable拖拽组件,使用详细(Sortablejs安装使用)

简述 作为一名前端开发人员&#xff0c;在工作中难免会遇到拖拽功能&#xff0c;分享一个github上一个不错的拖拽js库&#xff0c;能满足我们在项目开发中的需要&#xff0c;支持Vue和React&#xff0c;下面是SortableJS的使用详细&#xff1b; 这个是sortableJS中文官方文档&…...

Heartbeat+Nginx实验

HeartbeatNginx实验 Heartbeat是什么&#xff1f; Heartbeat是 Linux-HA 工程的一个组件&#xff0c;自1999 年开始到现在&#xff0c;发布了众多版本&#xff0c;是目前开源 Linux-HA项 目成功的一个例子&#xff0c;在行业内得到了广泛的应用 构建规划&#xff1a; 两台后…...

JavaEE|网络编程之套接字 TCP

文章目录一、ServerSocket API构造方法常用方法二、Socket API构造方法常用方法注意事项三、TCP中的长短连接E1:一发一收&#xff08;短连接&#xff09;E2:请求响应&#xff08;短连接&#xff09;E3&#xff1a;多线程下的TCP回响服务器说明&#xff1a;这部分说实话有点懵&a…...

Robot Framework自动化测试---元素定位

不要误认为Robot framework 只是个web UI测试工具&#xff0c;更正确的理解Robot framework是个测试框架&#xff0c;之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的API。比如笔者所处工作中&#xff0c;更多的是拿Robot framework来做数据库的接口测试&#xf…...

ASP.NET Core中的路由

传统路由 app.MapControllerRoute( name: "default", pattern: "{controllerHome}/{actionIndex}/{id?}"); MapControllerRoute用于创建单个路由。 单个路由命名为 default 路由 。大多数具有控制器和视图的应用都使用类似 default 路由的路由模板。 之所…...

VBA提高篇_26 Textbox多行_ListBox_ComboBox

文章目录1. 文本框多行换行2. ListBox: 列表框2.1 列表框中添加条目的三种方法:3. ComboBox 组合框: 属性方法等同于以上ListBox1. 文本框多行换行 MultiLine: 控制文本框多行自动换行() Enterkeybehevior: True 代表允许在文本框中使用回车键换行 WordWrap: True 代表自动换…...

python环境配置

python环境配置一、ADB环境配置1、ADB下载路径:2、点击下载3、解压并放到本地磁盘4、配置ADB环境变量二、Python环境配置1、Python下载路径:2、点击下载(默认下载最新的)3、解压并放到本地磁盘4、配置Python环境变量5、配置pip环境变量三、Pycharm安装1、pycharm下载路径:2、点…...

集算器连接外部库

1. 配置jar包将以下jar包从报表的类路径&#xff08;【安装根目录】\report\lib或【安装根目录】\report\web\webapps\demo\WEB-INF\lib&#xff09;中拷贝到集算器目录&#xff08;【安装根目录】\esProc\ extlib\mongoCli&#xff09;&#xff1b;润乾外部库核心jar为:scu-mo…...

力扣刷题|216.组合总和 III、17.电话号码的字母组合

文章目录LeetCode 216.组合总和题目链接&#x1f517;思路LeetCode 17.电话号码的字母组合题目链接&#x1f517;思路LeetCode 216.组合总和 题目链接&#x1f517; LeetCode 216.组合总和 思路 本题就是在[1,2,3,4,5,6,7,8,9]这个集合中找到和为n的k个数的组合。 相对于7…...

机器学习笔记之谱聚类(一)k-Means聚类算法介绍

机器学习笔记之谱聚类——K-Means聚类算法介绍引言回顾&#xff1a;高斯混合模型聚类任务基本介绍距离计算k-Means\text{k-Means}k-Means算法介绍k-Means\text{k-Means}k-Means算法示例k-Means\text{k-Means}k-Means算法与高斯混合模型的关系k-Means\text{k-Means}k-Means算法的…...

云原生周刊 | 2023 年热门:云 IDE、Web Assembly 和 SBOM | 2023-02-20

在 CloudNative SecurityCon 上&#xff0c;云原生计算基金会的首席技术官 Chris Aniszczyk 在 The New Stack Makers 播客的这一集中强调了 2023 年正在形成几个趋势&#xff1a; 随着 GitHub 的 Codespaces 平台通过集成到 GitHub 服务中获得认可&#xff0c;云 IDE&#xf…...

python 打包EXE

注&#xff1a; 从个人博客园 移植而来 环境&#xff1a; Windows7 Python 2.7 参考&#xff1a; 使用pyinstaller打包python程序 Pyinstaller 打包发布经验总结 Using PyInstaller 简介 使用python引用第三方的各种模块编写一个工具后&#xff0c;如果想发给其他人&…...

CANopen概念总结、心得体会

NMT网络管理报文&#xff1a; NMT 主机和 NMT 从机之间通讯的报文就称为 NMT 网络管理报文。常见报文说明&#xff1a; 0101---------------网络报文发送Nmt_Start_Node&#xff0c;让电机进入OP模式(此时还不会发送同步信号) setState(d, Operational)------------------开启…...

【2】MYSQL数据的导入与导出

文章目录 MYSQL-库(相同库名称)的导入导出MYSQL-库(不同库名称)的导入导出MYSQL-表的导入导出MYSQL-表的指定查询记录导入导出前提: 客户端工具是:SQLyog MYSQL-库(相同库名称)的导入导出 1、选中指定库——右键,选择【将数据库复制到不同的主机/数据库】 2、选中指…...

Kaggle系列之CIFAR-10图像识别分类(残差网络模型ResNet-18)

CIFAR-10数据集在计算机视觉领域是一个很重要的数据集&#xff0c;很有必要去熟悉它&#xff0c;我们来到Kaggle站点&#xff0c;进入到比赛页面&#xff1a;https://www.kaggle.com/competitions/cifar-10CIFAR-10是8000万小图像数据集的一个子集&#xff0c;由60000张32x32彩…...

ESP-C3入门11. 创建最基本的HTTP请求

ESP-C3入门11. 创建最基本的HTTP请求一、menuconfig配置二、配置 CMakeLists1. 设置项目的额外组件目录2. 设置头文件搜索目录三、在 ESP32 上执行 HTTP 请求的基本步骤1. 创建 TCP 连接2. 设置 HTTP 请求3. 发送 HTTP 请求4. 接收 HTTP 响应5. 处理 HTTP 响应6. 关闭 TCP 连接…...

K8S+Jenkins+Harbor+Docker+gitlab集群部署

K8SJenkinsHarborDockergitlab服务器集群部署 目录K8SJenkinsHarborDockergitlab服务器集群部署1.准备以下服务器2.所有服务器统一处理执行2.1 关闭防火墙2.2 关闭selinux2.3 关闭swap&#xff08;k8s禁止虚拟内存以提高性能&#xff09;2.4 更新yum (看需要更新)2.5 时间同步2…...

看见统计——第四章 统计推断:频率学派

看见统计——第四章 统计推断&#xff1a;频率学派 接下来三节的主题是中心极限定理的应用。在不了解随机变量序列 {Xi}\{X_i\}{Xi​} 的潜在分布的情况下&#xff0c;对于大样本量&#xff0c;中心极限定理给出了关于样本均值的声明。例如&#xff0c;如果 YYY 是一个 N(0&am…...

利用Hex view脚本自动化生成符合OEM标准的刷写文件

1. 从手动操作到自动化&#xff1a;为什么需要Hex view脚本 在汽车电子开发领域&#xff0c;每次给ECU刷写新固件都像给汽车做"心脏手术"。我经历过无数次凌晨三点还在手动修改BIN文件的日子——用十六进制编辑器逐个字节检查对齐&#xff0c;手工计算CRC校验值&…...

消费级GPU福音:百川2-13B-4bits+OpenClaw自动化测试报告

消费级GPU福音&#xff1a;百川2-13B-4bitsOpenClaw自动化测试报告 1. 为什么选择这个组合&#xff1f; 去年冬天&#xff0c;我盯着显卡监控软件里跳动的显存占用数字&#xff0c;突然意识到一个问题&#xff1a;大多数开源大模型对消费级GPU太不友好了。动辄20GB以上的显存…...

Entries()方法

entries() 方法返回一个迭代器对象&#xff0c;包含数据结构中每个元素的键值对。不同数据结构的用法略有不同。1. 数组的 entries()返回索引和值的键值对const arr [a, b, c]; const iterator arr.entries();console.log(iterator.next().value); // [0, a] console.log(ite…...

GeekDoc

GeekDoc 中文系列教程是一个庞大且组织良好的技术文档集合&#xff0c;它并非单一教程&#xff0c;而是一个开源文档翻译与整理项目&#xff0c;旨在将优秀的技术文档和教程翻译成中文&#xff0c;并按技术领域进行分类。其内容广泛覆盖了信息技术领域的多个核心方向&#xff0…...

嵌入式软件架构设计:从顺序执行到RTOS

1. 嵌入式软件架构概述在单片机开发领域&#xff0c;很多初学者往往只关注功能实现而忽视了代码架构设计。作为一名经历过多个嵌入式项目的开发者&#xff0c;我深刻体会到良好的架构设计对项目可维护性和扩展性的重要性。当代码量超过5000行时&#xff0c;没有架构的程序就会变…...

Agent 中的记忆系统:短期记忆、长期知识库与情境缓存最佳实践

Agent 中的记忆系统&#xff1a;短期记忆、长期知识库与情境缓存最佳实践 摘要/引言 开门见山&#xff1a;当我们说AI Agent要“有记忆”时&#xff0c;我们在说什么&#xff1f; 你有没有过这样的经历&#xff1a;和OpenAI的ChatGPT连续聊了20轮Python爬虫优化&#xff0c;…...

Windows 11上运行Android应用的3大核心优势:WSA完全指南

Windows 11上运行Android应用的3大核心优势&#xff1a;WSA完全指南 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA 想在Windows电脑上直接使用你最喜欢的An…...

Keil MDK调试时Watch窗口变量不刷新?别急,这3个设置项你检查了吗?

Keil MDK调试时Watch窗口变量不刷新&#xff1f;这3个关键设置项详解 调试嵌入式系统时&#xff0c;Watch窗口就像开发者的"第三只眼"&#xff0c;能实时洞察程序运行状态。但当你发现变量值像被冻住一样纹丝不动时&#xff0c;那种抓狂的感觉我太熟悉了——三年前我…...

019驱动调试与性能优化:printk、动态调试、ftrace、perf工具链

从一次诡异的I2C超时说起 上周排查一个车载IVI系统的触摸屏失灵问题&#xff0c;现象是冷启动后触摸完全无响应&#xff0c;但系统日志里没有任何错误信息。用逻辑分析仪抓I2C波形发现&#xff0c;主机发了START信号后SCL就被拉低了——典型的从设备忙状态。但驱动代码里对应的…...

MongoDB EF Core 提供程序中的可查询加密和向量搜索

ngoDB Entity Framework (EF) Core 提供程序自 2024 年 5 月起正式发布。自发布以来&#xff0c;我们欣喜地看到 .NET 开发人员社区给予了积极的反馈&#xff0c;并且该提供程序在各种应用程序中得到了越来越广泛的采用。 该提供商使开发人员能够利用 LINQ 查询、更改跟踪和乐…...