【题目】
注意,子序列跟子串是不一样的。子序列是从字符串中取出元素,相对顺序不变,但是可以不挨着。子串肯定是截取一段。
【方法一:记忆化搜索】 假设fun(char[] S , int i , int j) 返回的是串S[i...j]的最长回文子序列。 则如果S[i]==S[j] , 则:fun(S, i , j) = 2+fun(S , i+1 , j-1) 如果不等,则,fun(S , i , j) = max{ fun(S, i+1 , j) , fun(S , i , j-1)}
递归写法如下: |
516、最长回文子序列
最新推荐文章于 2024-05-30 18:30:18 发布