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

(LeetCode) T14. Longest Common Prefix

Problem : 

Write a function to find the longest common prefix string amongst an array of strings.

If there is no common prefix, return an empty string "".


Solve :


Thought :

这道题属于easy的题,想要解题自然是不难,这道题有很多种算法,归根结底还是要逐个比较两个字符串的最长前缀。

一开始我写了个两个字符串匹配最长前缀的函数,在循环调用n-1次,发现耗时太多了。

查了一下才发现python中有一个find函数(类似的在java有indexof),实现的是在另一个字符串中从头开始查找给定字符串,返回最先匹配的首字符下标,否则返回-1

于是有了另一种匹配算法(上图所示):以第一个字符串作为初始值,对其他每个字符串执行以下操作,strs[i].find(当前最长前缀),如果返回值不为0,即当前最长前缀不是该字符串的前缀,则取出当前最长前缀的最后一个字符,继续执行find操作,直到当前最长前缀也是该字符串的前缀为之。最后返回当前最长前缀即可。

这个算法比之前的自己写函数逐个匹配快了一些。


相关文章:

  • python-numpy 简介与练习
  • GUI编程练习(Python)-调用百度翻译API自制翻译器(上)
  • GUI编程练习(Python)-调用百度翻译API自制翻译器(下)
  • Python-pyinstaller打包与ico生成
  • Python中的图片打包与pyinstaller中的spec文件简介
  • GUI编程练习(Python)-自制简易的文件检索器
  • 关于windows中host文件的修改
  • Python-自制简易程序挂机刷御魂
  • Python-使用geany编辑器实现32位与64位共存使用
  • python-五子棋-AI
  • Python-从视频到gif(imageio,moviepy,ffmpeg)
  • python-二分法插入排序(Binary Insert Sort)
  • 本地仓库关联Github仓库
  • macos可以升级到指定版本吗_iPhone 越狱后还可以保资料升级系统吗?
  • 2 shell 锂基脂_内蒙古锂基脂润滑油供应商
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Apache的80端口被占用以及访问时报错403
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript-Array类型
  • JS基础之数据类型、对象、原型、原型链、继承
  • Laravel Mix运行时关于es2015报错解决方案
  • leetcode讲解--894. All Possible Full Binary Trees
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • nodejs实现webservice问题总结
  • Python_网络编程
  • Python利用正则抓取网页内容保存到本地
  • rabbitmq延迟消息示例
  • react 代码优化(一) ——事件处理
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 多线程事务回滚
  • 高程读书笔记 第六章 面向对象程序设计
  • 基于Android乐音识别(2)
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 网页视频流m3u8/ts视频下载
  • 用mpvue开发微信小程序
  • 在Unity中实现一个简单的消息管理器
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​HTTP与HTTPS:网络通信的安全卫士
  • #stm32驱动外设模块总结w5500模块
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (篇九)MySQL常用内置函数
  • (一)80c52学习之旅-起始篇
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)scrum常见工具列表
  • (转)母版页和相对路径
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .gitattributes 文件
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET CORE Aws S3 使用