首页 > 其他分享 >【力扣】-14. 最长公共前缀|刷题打卡-JS

【力扣】-14. 最长公共前缀|刷题打卡-JS

时间:2023-12-24 11:01:44浏览次数:39  
标签:前缀 strs ans JS 公共 字符串 打卡 最长 14

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

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

示例 1:

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

示例 2:

输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

提示:

  • 1 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] 仅由小写英文字母组成

思路:

  • 当字符串数组长度为 0 时则公共前缀为空,直接返回;
  • 令最长公共前缀 ans 的值为第一个字符串,进行初始化;
  • 遍历后面的字符串,依次将其与 ans 进行比较,两两找出公共前缀,最终结果即为最长公共前缀;
  • 如果查找过程中出现了 ans 为空的情况,则公共前缀不存在直接返回;
  • 时间复杂度:O(s)O(s)O(s),s 为所有字符串的长度之和。

代码:

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
    if(strs.length == 0) 
        return "";
    let ans = strs[0];
    for(let i =1;i<strs.length;i++) {
        let j=0;
        for(;j<ans.length && j < strs[i].length;j++) {
            if(ans[j] != strs[i][j])
                break;
        }
        ans = ans.substr(0, j);
        if(ans === "")
            return ans;
    }
    return ans;
};

标签:前缀,strs,ans,JS,公共,字符串,打卡,最长,14
From: https://blog.51cto.com/u_16101563/8954657

相关文章

  • 【力扣】-35. 搜索插入位置|刷题打卡-JS
    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(logn) 的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例 2:输入:nums=[1,3,5,6],target=2输出:1示例......
  • 2023-2024-1 20231405《计算机基础与程序设计》第十三周学习总结
    2023-2024-120231405《计算机基础与程序设计》第十三周学习总结作业信息作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13009作业的目标自学......
  • RapidJSON
    RapidJSON 是一个C++的JSON解析器及生成器。它的灵感来自RapidXml。RapidJSON小而全。它同时支持SAX和DOM风格的API。SAX解析器只有约500行代码 【chatgpt】 RapidJSON、cJSON和JsonCpp都是JSON解析器/生成器的C++库,它们的目标都是提供快速、轻量级......
  • 学期:2023-2024-1 学号:20231426 《计算机基础与程序设计》第十三周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计作业这个作业的目标通过教材内容了解结构体作业正文https://www.cnblogs.com/hhaxx/p/17923969.html教材学习内容总结《计算科学概论》......
  • C# .NET的BinaryFormatter、protobuf-net、Newtonsoft.Json以及自己写的序列化方法序
    https://www.cnblogs.com/s0611163/p/11872484.html测试结果整理后: 结论:1、这几个工具中,protobuf-net序列化和反序列化效率是最快的2、BinaryFormatter和Newtonsoft.Json反序列化慢的比较多3、Newtonsoft.Json序列化后的文件体积比较大4、Newtonsoft.Json在序列化反序列......
  • 2023-2024 20231404高伟光《计算机基础与程序设计》第十三周学习总结
    作业信息作业内容我的班级我的班级作业要求第十三周要求作业目标学习c语言中结构体和基础的数据结构作业正文此博客教材内容总结c语言程序设计第十二章中主要讲了结构体的定义,使用方法还有结构体指针的相关用法.以结构体为基础,衍生讲了联合体和枚......
  • Jmeter:http请求及json断言
    一前言环境:window10jmeter5.3对jmeter的http请求和json断言这2个组件中的一些字段进行简单说明二http请求如上,可以选择切换语言,有时切换成中文或者英文,这样需要填写字段的意思更加一目了然三json断言断言请求返回的json数据数时,jmeter中默认有2种方式可选,如下这里......
  • CF1140G
    居然差一点场切了。首先可以将两棵树上对应的点看作一个点的两个不同状态考虑一个类似最短路的东西:设\(dis_{i,j,0/1,0/1}\)为树上\(0/1\)状态的\(i\)点到\(0/1\)状态的最短路。考虑怎样维护这个值。由于是树上路径问题,容易发现设\(k\)为树上\((i,j)\)路径上任意一......
  • CF1444C
    可撤销并查集好题。首先考虑如果已经确定选哪两组,该怎么判断。发现是一个二分图判定的问题,拓展域并查集即可。那如果要求出所有可能的两组的答案怎么办。首先,如果两组中至少有一组,在只加入组内边时就已经不可能是二分图了,这种情况就显然是不行的。否则,可以考虑预先加入所有组内......
  • 142. 环形链表Ⅱ
    给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。不允许修改链表。整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。......