給出乙個字串(假設長度最長為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...