LeetCode Hot 100 最長回文子串

2022-01-29 10:48:50 字數 1289 閱讀 9058

新年的刷的第一題,題目如下:

給你乙個字串 s,找到 s 中最長的回文子串。

示例 1:

輸入:s = "babad"

輸出:"bab"

解釋:"aba" 同樣是符合題意的答案。

示例 2:

輸入:s = "cbbd"

輸出:"bb"

示例 3:

輸入:s = "a"

輸出:"a"

示例 4:

輸入:s = "ac"

輸出:"a"

1 <= s.length <= 1000

s 僅由數字和英文本母(大寫和/或小寫)組成

初始思路:

剛開始的想法是想每個字元開始向左右進行拓展,將全部的字元迴圈一遍,最後就可以找到最長的回文字串。但自己感覺這種方法時間複雜度太高了,就沒往下想了,唉,太不自信了。

答案思路:

答案寫的非常詳細,分了三種方法,第三種不講,有點複雜,首先要說的是和自己初始子路類似的解法-中心擴充套件演算法,廢話不多說,直接上**:

class

solution

/*對pair的用法不熟悉,還沒想過可以這樣用*/

return ;

}string longestpalindrome(string

s)

if(right2-left2>end-start)

}/*返回最長的回文字串,答案不唯一*/

return s.substr(start,end-start+1

); }

};

答案中介紹的第二種方法是動態規劃,直接看**:

class

solution

/*長度1的情況*/

else

if(len==1

)

/*其他情況*/

else

if(dp[i][i+len]&&len+1>strreturn.size())}}

return

strreturn;

}};

兩種演算法的時間和空間複雜度對比如下:

時間複雜度    空間複雜度

中心擴充套件演算法:o(n*n)o(1)

動態規劃:o(n*n)     o(n*n)

leetcode hot100刷題第四天

二 搜尋旋轉排序陣列 leetcode 33 三 在排序陣列中查詢元素第乙個和最後乙個位置 leetcode 34 四 組合總和 leetcode 39 五 接雨水 leetcode 42 總結給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括...

leetcode hot 100 分割等和子集

給定乙個只包含正整數的非空陣列。是否可以將這個陣列分割成兩個子集,使得兩個子集的元素和相等。注意 每個陣列中的元素不會超過 100陣列的大小不會超過 200 示例 1 輸入 1,5,11,5 輸出 true 解釋 陣列可以分割成 1,5,5 和 11 示例 2 輸入 1,2,3,5 輸出 false...

100個最容易出錯的字

1.按 安 裝 2.甘敗 拜 下風 3.自抱 暴 自棄 4.針貶 砭 5.泊 舶 來品 6.脈博 搏 7.鬆馳 弛 8.一愁 籌 莫展 9.穿 川 流不息 10.精萃 粹 11.重迭 疊 12.渡 度 假村 13.防 妨 礙 14.幅 輻 射 15.一幅 副 對聯 16.天翻地覆 覆 17.言簡意駭...