lintcode練習 200 最長回文子串

2021-08-25 02:37:50 字數 1106 閱讀 4615

給出乙個字串(假設長度最長為1000),求出它的最長回文子串,你可以假定只有乙個滿足條件的最長回文串。

給出字串"abcdzdcab",它的最長回文子串為"cdzdc"

o(n2) 時間複雜度的演算法是可以接受的,如果你能用 o(n) 的演算法那自然更好。

class solution:

"""@param s: input string

@return: the longest palindromic substring

"""def longestpalindrome(self, s):

# write your code here

pali_list =

#第乙個迴圈,子串的長度

for i in range(1, len(s)+1):

#第二個迴圈,從字串中擷取子串

for j in range(len(s) - i + 1):

if s[j:j+i] == s[j:j+i][::-1]:

pali_list =

return pali_list[0]

'''def longestpalindrome(self, s):

# write your code here

if len(s) == 0:

return 0

maxlen = 1

start = 0

for i in range(len(s)):

if i - maxlen >= 1 and s[i - maxlen - 1:i + 1] == s[i - maxlen - 1:i + 1][::-1]:

start = i - maxlen - 1

maxlen += 2

continue

if i - maxlen >= 0 and s[i - maxlen:i + 1] == s[i - maxlen:i + 1][::-1]:

start = i - maxlen

maxlen += 1

return s[start:start + maxlen]

'''

lintcode200 最長回文子串

給出乙個字串 假設長度最長為1000 求出它的最長回文子串,你可以假定只有乙個滿足條件的最長回文串。樣例 樣例 1 輸入 abcdzdcab 輸出 cdzdc 樣例 2 輸入 aba 輸出 aba 挑戰o n2 時間複雜度的演算法是可以接受的,如果你能用 o n 的演算法那自然更好。class so...

lintcode練習 76 最長上公升子串行

給定乙個整數序列,找到最長上公升子串行 lis 返回lis的長度。給出 5,4,1,2,3 lis 是 1,2,3 返回3 給出 4,2,4,5,3,7 lis 是 2,4,5,7 返回4 要求時間複雜度為o n 2 或者 o nlogn 最長上公升子串行的定義 最長上公升子串行問題是在乙個無序的給...

lintcode 最長單詞

引用塊內容 給乙個詞典,找出其中所有最長的單詞。在詞典 中,最長的單詞集合為 internationalization 在詞典 中,最長的單詞集合為 like love hate 挑戰 遍歷兩次的辦法很容易想到,如果只遍歷一次你有沒有什麼好辦法?只把最長的放在陣列中就行了 class solutio...