美文网首页动态规划
【Leetcode】516. Longest Palindrom

【Leetcode】516. Longest Palindrom

作者: 云端漫步_b5aa | 来源:发表于2018-11-27 05:20 被阅读3次

    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必须是连续的字符串,subsequence可以不是连续的,可以是随意组合的

    2 遇到一个数组,如果是想求其最大,最小,最长,最短值,而并不需要知道具体解的题,可以考虑使用动态规划

    3 使用二维数组dp[i][j]表示i和j之间最长回文subsequence的长度

    4 如果s[i]==s[j],状态转移方程是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 外层循环从i=n-1开始遍历(why?)内层循环从i+1遍历到n?

    相关文章

      网友评论

        本文标题:【Leetcode】516. Longest Palindrom

        本文链接:https://www.haomeiwen.com/subject/ejrwqqtx.html