PHP实现一个函数查找字符串数组中最长的公共前缀字符串
2017-11-08 12:53
711 查看
实现逻辑:
获取数组中所有元素公共前缀
用公共前缀匹配每一个元素,查找符合条件的字符串
欢迎猿猿们留言指导。
其他语言实现请参考以下链接。
https://leetcode.com/problems/longest-common-prefix/solution/
获取数组中所有元素公共前缀
用公共前缀匹配每一个元素,查找符合条件的字符串
欢迎猿猿们留言指导。
其他语言实现请参考以下链接。
https://leetcode.com/problems/longest-common-prefix/solution/
代码块
function getCommonPreLongStr() { $array = [ 'leets','leetcode','leetc','aaaaa','le']; $pre = ''; foreach ($array as $v){ if(empty($pre)){ $pre = $v; }else{ //将字符串分割成数组,取两个数组的交集 $res = implode('',array_intersect(str_split($pre),str_split($v))); //不存在公共部分,不做处理 if(isset($res)){ $pre = $res; } } } //通过前缀获取最长字符串 $res = ''; foreach ($array as $value){ $match = strstr($value,$pre); if(empty($res)){ $res = $match; }else{ if(strlen($match) > strlen($res)){ $res = $match; } } } var_dump($res);die; return $res; }
相关文章推荐
- LeetCode 找到一个字符串数组的最长公共前缀
- 算法#26--查找字符串数组中最长的公共前缀
- Lettcode_14_Longest Common Prefix——查找字符串数组中最长公共前缀字符串
- 经典面试题:求数组的最大子序列和;实现函数 :判断一个自负喜欢是否是另一个字符串旋转所得;杨氏矩阵中查找一个数。
- JavaScript自定义函数实现查找两个字符串最长公共子串的方法
- 寻找一个字符串数组的最长公共前缀
- leetcode:java.T014_LongestCommonPrefix--写一个函数找出一个字串所数组中的最长的公共前缀
- 找出一个字符串数组中最长公共前缀字符串
- 查找字符串数组中最长的公共前缀字符串。
- <笔试><面试>编写一个排序函数,实现,既可以排序整形数组,又可以排序字符串。
- 改写函数实现PHP二维/三维数组转字符串
- longest-common-prefix 求字符串数组的最长公共前缀
- 字符串数组的最长公共前缀
- php字符串常用处理函数(数组的拆分、查找替换)
- PHP implode() 函数是个将数组组合成一个字符串
- 实现一个字符串查找子串的函数
- 一个长度为N的数组中包含正数 负数 0,请实现一个函数找出和为0的最长子数列
- 整型数组处理算法(十二)请实现一个函数:最长顺子。[风林火山]
- php stripos 字符串查找函数内部源码实现
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词(只使用循环,数组)