算法:最长公共前缀(横向扫描和纵向扫描)

 横向扫描 时间复杂度 O(m * n),空间复杂度O(1)

/*** @param {string[]} strs* @return {string}*/
var longestCommonPrefix = function(strs) {// 先把第一个字符串拿出来let str = strs[0]// 用 startsWith 检查数组中每个字符串是否以当前字符串为前缀while(!strs.every(item=>item.startsWith(str))){// 如果不是的话就将当前字符串的末尾字符扔掉str = str.slice(0,str.length-1)}return str ===''?'':str
};

 纵向扫描 时间复杂度 O(m * n),空间复杂度O(1)

/*** @param {string[]} strs* @return {string}*/
var longestCommonPrefix = function(strs) {let prefix = ''// 先把第一个字符串拿出来let str = strs[0]// 外层循环先从第一个字符串的第一个字符开始for(let i=0; i<= str.length; i++){let char = str[i]if (strs.length === 0) {return '';}   if(strs.length==1){return strs[0]}// 内层循环要从当前字符串的下一个字符串进行比对for(let j=1; j<= strs.length-1; j++){// 如果下一个字符串的第i个字符不等于当前字符串的第i个字符// 或者当前字符串的长度大于下一个字符串的长度则终止循环if(strs[j][i] !== char || i >= strs[j].length){return prefix}}// 符合条件的字符和当前字符拼接prefix += char}return prefix
};

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

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

相关文章

听GPT 讲Rust源代码--src/tools(11)

File: rust/src/tools/rust-analyzer/crates/hir/src/lib.rs 在Rust源代码中&#xff0c;rust/src/tools/rust-analyzer/crates/hir/src/lib.rs文件的作用是定义了Rust语言的高级抽象层次&#xff08;Higher-level IR&#xff0c;HIR&#xff09;。它包含了Rust语言的各种结构和…

Python:核心知识点整理大全10-笔记

目录 5.4 使用 if 语句处理列表 5.4.1 检查特殊元素 toppings.py 5.4.2 确定列表不是空的 5.4.3 使用多个列表 5.5 设置 if 语句的格式 5.6 小结 第6章 字 典 6.1 一个简单的字典 alien.py 6.2 使用字典 6.2.1 访问字典中的值 6.2.2 添加键—值对 6.2.3 先创建一…

智能优化算法应用:基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜉蝣算法4.实验参数设定5.算法结果6.参考文献7.MA…

JAVA+SSM+springboot+MYSQL企业物资库存进销存管理系统

。该系统从两个对象&#xff1a;由管理员和员工来对系统进行设计构建。主要功能包括首页、个人中心、员工管理、项目信息管理、仓库信息管理、供应商管理、项目计划管理、物资库存管理、到货登记管理、物资出库管理、物资入库管理等功能进行管理。本企业物资管理系统方便员工快…

linux 定时任务

使用 crontab Usage: crontab [-u user] [-e|-l|-r] Crontab 的格式说明如下: * 逗号(‘,’) 指定列表值。如: “1,3,4,7,8″ * 中横线(‘-’) 指定范围值 如 “1-6″, 代表 “1,2,3,4,5,6″ * 星号 (‘*’) 代表所有可能的值 */15 表示每 15 分钟执行一次 # Use the ha…

C++编程法则365天一天一条(24)RTTI运行时类型信息typeid和type_info

文章目录 基本用法编译时或运行时判定 基本用法 typeid 是 C 的一个运算符&#xff0c;它用于获取表达式的类型信息。它返回一个 std::type_info 对象引用&#xff0c;该对象包含有关表达式的类型的信息。 要使用 typeid 运算符&#xff0c;需要包含 <typeinfo> 头文件…

关于振动试验

这是试验的说明&#xff08;来自gbt4710-2009&#xff09; 这是试验的参数&#xff1a; 一、试验方向&#xff1a; 振动试验中有几个方向 除有关规范另有规定外&#xff0c;应在产品的三个互相垂直方向上进行振动试验。 一般定义产品长边为X轴向&#xff0c;短边为Y轴向&…

飞书面试题汇总

面试相关经验 Interview | JavaGuide(Java面试 学习指南) 同学1 7次面试 编程题汇总&#xff1a; 有序链表找中位数 &#xff08;飞书1面&#xff09; m个有序数组合并 &#xff08;飞书1面&#xff09; 海量数据寻找TopK&#xff08;口述&#xff09; &#xff08;飞书…

Android 10(Q) 以上普通 APP 隐藏应用图标问题探究及解决方案

1、实验环境 aosp 版本 10.0 系统 aosp 版本 13.0 系统 2、验证结果 2.1 方式一 APP AndroidManifest.xml 中通过 activity-alias 配置带 LAUNCHER 属性 category&#xff0c;并且 android:enabled“true” 10.0 系统中可安装后正常显示 icon&#xff0c;通过 setComponen…

idea中run和debug是灰色的

【现象】idea中run和debug是灰色的 点击 旁边的Add Configuration…一看都是空白 【解决方法】&#xff1a; npm点开之后 【结果】

文本转图像 学习笔记

VQGAN (Vector Quantized Generative Adversarial Network) 是一种基于 GAN 的生成模型&#xff0c;可以将图像或文本转换为高质量的图像。 VQ &#xff08;Vector Quantization&#xff09;是一种数据压缩技术&#xff0c;是指将连续数据表示为离散化的向量。输入的图像或文本…

转换NC或HDF数据时候转出数据无坐标信息的处理方法

有时候我们在转换NC或HDF数据时&#xff0c;有时候会出现没有坐标信息的情况&#xff01;如下图&#xff1a; 这种情况一般是原始数据将坐标信息存储在说明文件中以便后期做生成坐标信息的处理、或坐标存储的形式比较特殊&#xff0c;造成工具无法读取&#xff01;这种数据处理…

Python迭代器与生成器研究记录

Python迭代器与生成器研究记录 前言 迭代器肯定是可迭代对象&#xff0c;但是可迭代对象不一定是迭代器&#xff0c;生成器一定是迭代器&#xff0c;但是迭代器不一定是生成器 生成器是特殊的迭代器&#xff0c;所以生成器一定是迭代器&#xff0c;迭代器一定是可迭代对象 我…

YOLOv8分割训练及分割半自动标注

YOLOv8是基于目标检测算法YOLOv5的改进版,它在YOLOv5的基础上进行了优化和改进,加入了一些新的特性和技术,如切片注意力机制、骨干网络的选择等。 本文以yolov8-seg为基准,主要整理分割训练流程及使用v8分割模型进行半自动标注的过程。 一、v8-seg训练 1.1 环境配置 github…

【Altera】平台设计器互连会回压 AXI 接口怎么办

说明 实现 AXI 接口的所有组件都具有发行或接受能力设置。每当互连检测到管理器&#xff08;主管理器&#xff09;发出的事务多于管理器的发行容量设置时&#xff0c;互连将通过断言 AxREADY 向管理器背压。每当互连检测到从属&#xff08;从站&#xff09;接收的事务多于从属的…

实用篇 | 一文快速构建人工智能前端展示streamlit应用

----------------------- &#x1f388;API 相关直达 &#x1f388;-------------------------- &#x1f680;Gradio: 实用篇 | 关于Gradio快速构建人工智能模型实现界面&#xff0c;你想知道的都在这里-CSDN博客 &#x1f680;Streamlit :实用篇 | 一文快速构建人工智能前端展…

Activity从下往上弹出视差效果实现

其实这篇文章是转至简书上的大佬的&#xff0c;加上我自己的代码实践了下发现可行&#xff0c;于是就分享下 先看效果 介绍: 其实有很多方法都可以实现这种效果&#xff0c;popwindow&#xff0c;Dialog&#xff0c;BottomSheetDialogFragment&#xff0c;BottomSheetDialog等…

Linux 安装 Gitea.md

### 从官网下载git 和 gitea Git下载地址: https://mirrors.edge.kernel.org/pub/software/scm/git/ 下载 git-2.43.0.tar.gz: https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.43.0.tar.gz Gitea下载地址: https://dl.gitea.com/gitea/ 下载 linux-arm64 的二进…

链表OJ—相交链表

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 1、相交链表的题目&#xff1a; 方法讲解&#xff1a; 图文解析&#xff1a; 代码实现&#xff1a; 总结 前言 世上有两种耀眼的光芒&#xff0c;一种是正在升…