zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C语言调用VIX_API开关虚拟机
    (转)Vix_API 操作 VMware
    C# U盘扫描
    设置字符集
    LIS系统通讯程序原理与实现
    Linux命令的简写和全称
    远程桌面如何退出全屏或全屏切换
    C#编程总结(七)数据加密
    c# 小叙 Encoding(三)
    c# 小叙 Encoding(二)
  • 原文地址:https://www.cnblogs.com/corvus/p/12000732.html
Copyright © 2011-2022 走看看