国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php算出連續重復的子字符串

2020-03-22 19:35:40
字體:
來源:轉載
供稿:網友
  • 上次突然想到了一道算法題,題目如下:一個字符串,算出重復且長度最長的子字符串。下面是我寫的算法,基本思想是先求出重復的字符串,組成一個數組,在求出該數組每個元素的長度組成一個新的數組,在拆分新的數組,以長度為元素又組成一個新的數組,算出最大值,根據有長度的那個數組每個元素是否有最大值算出該子字符串。

    <?phpheader ( "content-type:text/html;charset=utf-8" );/** * 給一個字符串計算出長度最長的子字符串 * * @author lxy *         */class maxstr {	private function __construct() {	}	/**	 * 篩選出有連續重復的子字符串	 *	 * @param String $str        		 * @return Array	 */	private static function strtoarr($str) {		$nwearray = array ();		$oldarray=array(); 		$newstr = "";		for($i = 0; $i < strlen ( $str ) - 1; $i ++) {			$newstr = "";			for($j = $i + 1; $j < strlen ( $str ); $j ++) {				if ($str [$i] == $str [$j]) {					$newstr .= $str [$j];				} else {					break;				}			}			if (strlen ( $newstr ) > 0) {				$newstr .= $str [$i];				$e = strlen ( $newstr );				$i = $i + $e - 1;				$oldarray [] = $newstr;			}		}		return $oldarray;	}	/**	 * 篩選出長度最長的子字符串	 *	 * @param String $str        		 * @return Array	 */	private static function maxlenth($str) {		$oldarray = self::strtoarr ( $str);		if(empty($oldarray)){			echo "對不起您沒有重復的子字符串";            return false;					}		$lastarray = array ();		$newlenarray = array ();		foreach ( $oldarray as $val ) {			$newarray [] = $val . '@' . strlen ( $val );		}		foreach ( $newarray as $value ) {			$numarr = explode ( '@', $value );			$numar [] = $numarr [1];		}		$maxlength = max ( $numar );				foreach ( $newarray as $valu ) {			$varray = explode ( '@', $valu );			if (array_search ( $maxlength, $varray )) {				$lastarray [] = $varray [0];			}		}		return $lastarray;	}	/**	 * 入口文件	 *	 * @param String $str        		 * @return Array	 */	public static function main($str) {		$newstr = self::maxlenth ( $str );		return $newstr;	}}$str = "aaaeeeeebbbbcd";$newstr = maxstr::main ( $str );print_r ( $newstr );


    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 阿拉善盟| 宜宾市| 朝阳区| 绥中县| 云霄县| 锡林郭勒盟| 灵山县| 上饶市| 安龙县| 防城港市| 凭祥市| 北票市| 噶尔县| 桃江县| 慈溪市| 师宗县| 黔西| 保亭| 荣昌县| 开原市| 玉环县| 怀来县| 隆林| 玛沁县| 永新县| 名山县| 新泰市| 赞皇县| 宿迁市| 美姑县| 同心县| 云霄县| 会昌县| 西林县| 黔西县| 灌云县| 新闻| 类乌齐县| 昭觉县| 县级市| 岳阳市|