PHP算法之最长公共前缀
2024-10-07 19:49:05
### 解题思路
方法太笨重后期优化
循环比较
循环长度利用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
最新文章
- hdu-5992 Finding Hotels(kd-tree)
- 【python】入门学习(九)
- Strong AI Versus Weak AI
- FORM Save : ORA-01403 FRM-40735 ORA-06502
- CentOS6.5 服务器+apache5.3绑定多个域名+SELinux设置
- 导出&;导入
- Docker 网络 Flannel
- .Net编译运行原理
- angular $modal模态框
- Node-debug方法
- 第四章 Ajax与jQuery
- python入门(十一):异常
- Linux记录-在线扩容8e
- Android FileUtils 文件操作类
- 【ATcoder】D - Half Reflector
- Java用户界面技术
- redis集群环境的搭建和错误分析
- 通过 Cobalt Strike 利用 ms14-068
- 10行代码解析krc歌词文件
- (实用)使用unetbootin制作Linux的U盘启动盘