Given a string s, find the longest palindromic subsequence's length in s. You may assume that the maximum length of s is 1000.
第5題是:
Given a string?s, find the longest palindromic substring in?s. You may assume that the maximum length of?s?is 1000.
1 一個是subsequence屿储,一個是substring到踏,substring必須是連續(xù)的字符串并扇,subsequence可以不是連續(xù)的劳闹,可以是隨意組合的
2 遇到一個數(shù)組哭廉,如果是想求其最大盘榨,最小解总,最長呛讲,最短值庐镐,而并不需要知道具體解的題恩商,可以考慮使用動態(tài)規(guī)劃
3 使用二維數(shù)組dp[i][j]表示i和j之間最長回文subsequence的長度
4 如果s[i]==s[j],狀態(tài)轉(zhuǎn)移方程是dp[i][j]=dp[i+1][j-1]+2必逆;如果s[i]!=s[j]怠堪,dp[i][j]=max(dp[i+1][j], dp[i][j-1])
5 可以使用O(n) space來解,dp[i]代表
6 可以首先判斷整個s是不是palindromic名眉,直接判斷s==s[::-1]是否成立
7 外層循環(huán)從i=n-1開始遍歷(why粟矿?)內(nèi)層循環(huán)從i+1遍歷到n?