zoukankan      html  css  js  c++  java
  • Algorithm——最长公共前缀

    一、问题

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

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

    示例 1:
    
    输入: ["flower","flow","flight"]
    输出: "fl"
    示例 2:
    
    输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。
    说明:
    
    所有输入只包含小写字母 a-z 。

    二、解决

    /**
     * @param {string[]} strs
     * @return {string}
     */
    var longestCommonPrefix = function(strs) {
        var strArr = [];
        var result = '';
        for (let i = 0; i < strs.length; i++) {
            strArr.push(strs[i].length);
        }
        //获取最小长度
        var strMaxLengthArr = strArr.sort((a,b)=>a-b);  
        //慎重提示:for循环里用let,不用var!!!
        for (let m = 0; m < strMaxLengthArr[0]; m++) {
            for (let i = 0; i < strs.length; i++) {
                if (strs[i+1] != undefined) {
                    if(strs[i].charAt(m) == strs[i+1].charAt(m)) {
                        //已经走到了strs参数的最后一个
                        if (i == strs.length-1-1) {result += strs[i].charAt(m);}
                    } else {
                        return  result;
                    }                
                } else {
                    if (strs.length == 1) {
                     result = strs[i];      
                    }             
                }
            }
        }
        
       return  result;
    };
  • 相关阅读:
    梯度下降(Gradient Descent)
    Positioning-Based Photo Retrieval
    NTU Long-Term Positioning Dataset
    Pycharm导入tabula模块包
    MySQL学习笔记20
    MySQL学习笔记17-19
    Android studio 报错AAPT2 error
    MySQL学习笔记13-16
    MySQL学习笔记 8-12
    机器学习十大算法
  • 原文地址:https://www.cnblogs.com/bbcfive/p/10589353.html
Copyright © 2011-2022 走看看