首页 > 其他 > 详细

leetcode——5.最长回文子串

时间:2019-09-20 13:51:56      阅读:76      评论:0      收藏:0      [点我收藏+]

早上两个小时才写出来,但是运行超时。。。

感觉自己是真的不会算法,应该系统学习一下才对。

代码我先粘在这里,然后慢慢优化:

class Solution:
    def longestPalindrome(self, s: str) -> str:
        if len(s)<2:
            return s
        index=[]
        index_1=[]
        index_2=[]
        cha=[]
        cha_1=[]
        right=[]
        
        for i in range(len(s)):

            for j in range(i+1,len(s)):
                if s[i]==s[j]:
                    index.append([i,j])
                    if j-i<3:
                        right.append(s[i:j+1])
                        cha.append(j-i)
                        index_2.append([i,j])
                    else:
                        cha_1.append(j-i)
                        index_1.append([i,j])
        else:
            cha.append(1)
            right.append(s[0])    
        #print(index)#相同的两个字母的索引对
        #print(index_1)#尚不确定是否回文的序列索引
        #print(cha_1)#其他尚且不能确定是不是回文序列的长度
        #print(index_2)#回文序列的索引
        #print(cha)#长度小于4的回文序列的长度
        #print(right)#回文序列    
        for i in range(len(index_1)):
            a=index_1[i]
            #print(a)
            m=a[0]
            n=a[1]
            #print(m,n)
            #print(s[m],s[n])
            #print(s[m+1],s[n-1])
            
            while s[m+1]==s[n-1] and m<=n:
                m=m+1
                n=n-1
                #print(m,n)
                #print(m==n or n-m==1)
                if m==n or n-m==1:
                    index_2.append(index_1[i])
                    cha.append(cha_1[i])
                    right.append(s[index_1[i][0]:index_1[i][1]+1])
        if len(cha)<1:
            return cha
        else:
            r=max(cha)
            w=cha.index(r)    
        #print(index_2)
        #print(cha)
        return right[w]

要加油哦,学算法!!!!!

                                                                      ——2019.9.20

 

leetcode——5.最长回文子串

原文:https://www.cnblogs.com/taoyuxin/p/11556102.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!