给定一个字符串,找到其中最长的回文子序列,并返回该序列的长度。 注:回文序列是指这个序列无论从左读还是从右读都是一样的。 本题中子序列字符串任意位置删除k(len(s)=k=0)个字符后留下的子串。 数据范围:字符串长度满足 进阶:空间复杂度 , 时间复杂度
示例1
输入
"abccsb"
输出
4
说明
分别选取第2、3、4、6位上的字符组成“bccb”子序列是最优解
示例2
输入
"abcdewa"
输出
3
说明
分别选取第一个和最后一个a,再取中间任意一个字符就是最优解
加载中...
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ public int longestPalindromeSubSeq (String s) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ int longestPalindromeSubSeq(string s) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 一个字符串由小写字母构成,长度小于5000 # @return int整型 # class Solution: def longestPalindromeSubSeq(self , s ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ public int longestPalindromeSubSeq (string s) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ function longestPalindromeSubSeq( s ) { // write code here } module.exports = { longestPalindromeSubSeq : longestPalindromeSubSeq };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 一个字符串由小写字母构成,长度小于5000 # @return int整型 # class Solution: def longestPalindromeSubSeq(self , s: str) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ func longestPalindromeSubSeq( s string ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ int longestPalindromeSubSeq(char* s ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 一个字符串由小写字母构成,长度小于5000 # @return int整型 # class Solution def longestPalindromeSubSeq(s) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ def longestPalindromeSubSeq(s: String): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ fun longestPalindromeSubSeq(s: String): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ public int longestPalindromeSubSeq (String s) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ export function longestPalindromeSubSeq(s: string): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ func longestPalindromeSubSeq ( _ s: String) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 一个字符串由小写字母构成,长度小于5000 * @return int整型 */ pub fn longestPalindromeSubSeq(&self, s: String) -> i32 { // write code here } }
"abccsb"
4
"abcdewa"
3