最長連續回文子串

2021-06-19 00:24:25 字數 946 閱讀 4774

題目:

給出乙個字串s,找到乙個最長的連續回文串。

注意可有2中形態:aba(奇數型) 或 abba(偶數型)

解法一:逐個遍曆法:

<?php

$str = "ababa";

$re = longestpalindrome($str);

function preprocess($str)

$ret .= "#";

return $ret;

}function longestpalindrome($str)

if($p[$i] > $maxlen)

echo "i:$i p[$i]:$p[$i] center:$center maxlen:$maxlen

"; }

echo substr($str,($center)/2-$maxlen/2,$maxlen);

}

解法二:

manacher』s algorithm

參考:參考:

<?php

$str = "aaaa";

$re = longestpalindrome($str);

function preprocess($str)

$ret .= "#";

return $ret;

}function longestpalindrome($str)

if($right-$i < $p[$i])

echo "i:$i right:$right p[$i]:$p[$i] center:$center

";

if($p[$i] > $maxlen)

} echo substr($str,($centerindex-$maxlen)/2,$maxlen);

}

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...

最長回文子串行 最長公共子串行 最長連續回文子串

public class solution int result new int len 1 len 1 stringbuffer sb new stringbuffer s sb sb.reverse string rev sb.tostring result 0 0 0 下面兩個for迴圈相當於...

最長連續子串

牛牛有兩個字串 可能包含空格 牛牛想找出其中最長的公共連續子串,希望你能幫助他,並輸出其長度。輸入描述 輸入為兩行字串 可能包含空格 長度均小於等於50.輸出描述 輸出為乙個整數,表示最長公共連續子串的長度。示例1 abcde abgde 2 這個題是一道動態規劃的變形體 就是當a i 1 b j ...