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

【字符串】1.最⻓公共前缀(easy)

1.最⻓公共前缀(easy)

  • 题⽬描述:
  • 解法:
  • 算法思路:
    • 解法⼀(两两⽐较):
    • 算法代码:
    • 解法⼆(统⼀⽐较):
    • 算法代码:

题⽬链接:14. 最⻓公共前缀

题⽬描述:

编写⼀个函数来查找字符串数组中的最⻓公共前缀。
如果不存在公共前缀,返回空字符串 “”。
⽰例 1:
输⼊:strs = [“flower”,“flow”,“flight”]
输出:“fl”
⽰例 2:
输⼊:strs = [“dog”,“racecar”,“car”]
输出:“”
解释:输⼊不存在公共前缀。
提⽰:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由⼩写英⽂字⺟组成

解法:

在这里插入图片描述

算法思路:

解法⼀(两两⽐较):

我们可以先找出前两个的最⻓公共前缀,然后拿这个最⻓公共前缀依次与后⾯的字符串⽐较,这样就可以找出所有字符串的最⻓公共前缀。

算法代码:

class Solution{public String longestCommonPrefix(String[] strs) {// 解法⼀:两两⽐较String ret = strs[0];for(int i = 1; i < strs.length; i++){ret = findCommon(strs[i], ret);}return ret;}public String findCommon(String s1, String s2) {int i = 0;while(i < Math.min(s1.length(), s2.length()) && s1.charAt(i) == s2.charAt(i)) i++;return s1.substring(0, i);}
}

解法⼆(统⼀⽐较):

题⽬要求多个字符串的公共前缀,我们可以逐位⽐较这些字符串,哪⼀位出现了不同,就在哪⼀位截⽌。

算法代码:

class Solution{public String longestCommonPrefix(String[] strs) {// 解法⼆:统⼀⽐较for(int i = 0; i < strs[0].length(); i++){char tmp = strs[0].charAt(i);for(int j = 1; j < strs.length; j++){if(i == strs[j].length() || strs[j].charAt(i) != tmp)return strs[0].substring(0, i);}}return strs[0];}
}
http://www.dtcms.com/a/394259.html

相关文章:

  • 新闻源发稿平台推荐,企业形象宣传新闻源收录平台
  • 梯度提升框架深度解析:LightGBM、XGBoost 与 CatBoost
  • Win10服务器远程连接断开后.bat脚本进程中断的全面解决方案
  • Java与Vue构建资产设备全周期管理系统,覆盖采购、入库、使用、维护至报废全流程,支持移动端实时操作与后台智能管理,提供完整源码便于二次开发
  • Spring Boot 3 + MyBatis-Plus + SelectDB整合方案
  • xtuoj 0x05-B Colombian Number
  • elasticsearch8.1.0 中聚合功能的执行链路
  • WindowTop:提升工作效率的窗口管理工具
  • 每天新增1000万条订单,如何选择合适的数据库?
  • LLaVA模型学习-周报十四
  • LwIP 1.4.0 移植到 uCOSII 参考
  • 【LeetCode 每日一题】3541. 找到频率最高的元音和辅音
  • Arithmetics Competition(贪心+排序+前缀和)
  • 运维安全07 ,JumpServer(堡垒机)介绍以及使用
  • 数据结构算法学习:LeetCode热题100-双指针篇(移动零、盛水最多的容器、三数之和、接雨水)
  • 2025年ESWA SCI1区TOP,复杂威胁环境下带偏差采样的多无人机路径规划、候选物评估与路径重构问题,深度解析+性能实测
  • SeaTunnel 迁移 MySQL 数据到 Easysearch 之批量导入(Batch)
  • JavaWeb 课堂笔记 —— 19 SpringBootWeb案例 文件上传
  • 《时空回响--时之鳞》的现代意义与2025年的现实映射
  • Qwen3Next注意力机制详解与实现
  • .net 8自包含应用发布在Linux怎么运行
  • 第十七周 学习周报
  • 手眼标定问题总结
  • 第一章 假设二:走势是时间信息序列
  • MLP全连接网络
  • 任天堂GBA游戏ROM分类精选合集 GBA工具、GBA模拟器分享 GBA金手指全集+GBA转换器
  • STM32光强传感器实验详解
  • 基于单片机的数字电压表设计
  • 搜索百科(3):Elasticsearch — 搜索界的“流量明星”
  • 【嵌入式】CAN协议学习笔记