• PHP算法之最长公共前缀


    ### 解题思路
    方法太笨重后期优化
    循环比较
    循环长度利用max(最长字符串的循环)
    不满住条件的截取

    ### 代码
    ```php
    class Solution {

        /**
         * @param String[] $strs
         * @return String
         */
        function longestCommonPrefix($strs) {
            $count = count($strs);
            $val = [];
            $len = 0;
            for($i=0;$i<$count;$i++){
                $arr = str_split($strs[$i],1);
                $len = max($len,strlen($strs[$i]));
                if($i==0){
                    $val = $arr;
                }else{

                    for($a = 0;$a < $len ;$a++){

                        if($val[$a] != $arr[$a]){

                            if($a==0){
                                return "";
                            }else{
                                $val = array_slice($val,0,$a);
                            } 
                            
                        }

                    }

                }
            }  
            return str_replace(',','',implode(',',$val));   
        }
    }
    ``
     
    后期优化
     

    $prefix = '';
    $i = 0;
    if(count($strs)<1){
    return $prefix;
    }
    while(true){
    $current = $strs[0]{$i};
    if(!$current){
    return $prefix;
    }
    foreach($strs as $str){
    if($str{$i} != $current){
    return $prefix;
    }
    }
    $prefix .= $current;
    $i++;
    }
    return $prefix;

    作者:yytswcx

  • 相关阅读:
    python os.path模块常用方法详解
    PHP脚本执行效率性能检测之WebGrind的使用
    Laravel操作上传文件的方法
    Nginx获取自定义头部header的值
    Laravel Nginx 除 `/` 外所有路由 404
    laravel查看执行的sql语句
    laravel 安装excel扩展
    mysql 按值排序
    处理laravel表单提交默认将空值转为null的问题
    设置虚拟机里的Centos7的IP
  • 原文地址:https://www.cnblogs.com/corvus/p/12000732.html
Copyright © 2020-2023  润新知