一.題目描述
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。
示例 1:
輸入: "babad"
輸出: "bab"
注意: "aba" 也是乙個有效答案。
示例 2:
輸入: "cbbd"
輸出: "bb"
二.**如下:
class solution:
def longestpalindrome(self, s: str) -> str:
len=len(s)
head=0
tail=0
a=[[0 for i in range(len)] for j in range(len)]
for i in range(len):
a[i][i]=1
if imaxlen:
head=j
tail=i+j
maxlen=i
a[j][j+i]=1
else:
a[j][j+i]=0
return s[head:tail+1]
這是時間和空間複雜度都為o(n^2)的,空間複雜度還可以優化為o(n) 最長回文子串 最長回文子串行
1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...
最長回文子串行 回文子串行個數
主要內容 1 什麼是回文?2 字元子串和字元子串行的區別 3 最長回文子串行的思路和 4 回文子串行個數的思路和 回文指的是正讀和反讀都一樣的字串,如aba,abba等 字元字串指的是字串中連續的n個字元 如palindrome中,pa,alind,drome等都屬於它的字串 而字元子串行指的是字串...
最長回文子串行
刷演算法題時遇到這道求最長回文子串行長度的題,因為其子序列不要求連續,跟普通求回文子串行不同,因此加以記錄 方法一 二維動態規劃 public class question6 最長回文子串行 動態規劃 int dp newint n n 單個字元的最長回文子串行長度為1 for int i 0 i ...