美文网首页
最大回文串长度

最大回文串长度

作者: 翩翩公子银圈圈 | 来源:发表于2018-11-08 22:18 被阅读0次

时间复杂度O(N)

string="35534321"
def max_substr(string):
    s_list=[s for s in string]
    str1='#'+'#'.join(s_list)+'#'
    length=len(str1)
    max=0
    for i in range(length):
        sum=get_length(str1,i)
        if(sum>max):
            max=sum
    return max
def get_length(string,index):
    length=len(string)
    r1=0
    print(index)
    for i in range(1,index+1):
        if  (index+i<length) and (string[index-i]==string[index+i]):
            r1+=1
        else:
            break
    return r1
print(max_substr(string))
var s = 'cfffafffaabaa'
var arr = []
var result = [0]
for (let i = 0; i < s.length; i++) {
    arr.push('#')
    arr.push(s[i])
}
arr.push('#')
var c = 0
for (let i = 1; i < arr.length; i++) {
    while ((i - c >= 0) && (i + c < arr.length) && arr[i - c] === arr[i + c]) {
        c++
    }
    result.push(c)
    c = 0
}
console.log(`最大回文长度: ${Math.max.apply(null, result) - 1}`)
var center = (result.indexOf(Math.max.apply(null, result)) - 1) / 2
var range = (Math.max.apply(null, result)) / 2 - 1
console.log("最大回文:" + s.substring(center - range, center + range + 1))

相关文章

  • 最大回文串长度

    时间复杂度O(N)

  • PHP取最大回文字符串

    取出一个字符串中长度最大的回文字符串

  • 最长回文子串

    最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。

  • LeetCode练手系列——最长回文子串

    题目:最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 ...

  • 最长回文子串

    最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 分析:参考...

  • Leetcode 5 最长回文子串

    最长回文子串 题目 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例...

  • 最长回文子串

    最长回文子串 题目 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000 摘要 ...

  • 算法练习三

    5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 ...

  • LeetCodeDay39 —— 最长回文子串★★★★

    5. 最长回文子串 描述 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 ...

  • LeetCode 5 最长回文子串

    5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例...

网友评论

      本文标题:最大回文串长度

      本文链接:https://www.haomeiwen.com/subject/rzmgxqtx.html