二刷算法训练营Day57 | 动态规划(17/17)

目录

详细布置:

1. 516. 最长回文子序列

2. 动态规划总结


详细布置:

1. 516. 最长回文子序列

给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。

回文子串是要连续的,回文子序列可不是连续的! 回文子串,回文子序列都是动态规划经典题目。

回文子串,可以做这两题:

  • 647.回文子串
  • 5.最长回文子串

思路其实是差不多的,但本题要比求回文子串简单一点,因为情况少了一点。

class Solution:
    def longestPalindromeSubseq(self, s: str) -> int:
        dp = [[0] * len(s) for _ in range(len(s))]
        for i in range(len(s)):
            dp[i][i] = 1
        for i in range(len(s)-1, -1, -1):
            for j in range(i+1, len(s)):
                if s[i] == s[j]:
                    dp[i][j] = dp[i+1][j-1] + 2
                else:
                    dp[i][j] = max(dp[i+1][j], dp[i][j-1])
        return dp[0][-1]

2. 动态规划总结

动规五部曲,而且强调了五部对解动规题目至关重要!

这是Carl做过一百多道动规题目总结出来的经验结晶啊,如果大家跟着「代码随想哦」刷过动规专题,一定会对这动规五部曲的作用感受极其深刻。

动规五部曲分别为:

  1. 确定dp数组(dp table)以及下标的含义
  2. 确定递推公式
  3. dp数组如何初始化
  4. 确定遍历顺序
  5. 举例推导dp数组

相关推荐

  1. 算法训练Day57 | 动态规划(17/17)

    2024-07-11 01:26:05       20 阅读
  2. 算法训练Day57动态规划17)

    2024-07-11 01:26:05       49 阅读
  3. 算法训练Day50动态规划11)

    2024-07-11 01:26:05       56 阅读
  4. 算法训练Day53动态规划14)

    2024-07-11 01:26:05       51 阅读
  5. 算法训练Day52动态规划13)

    2024-07-11 01:26:05       43 阅读
  6. 算法训练Day56动态规划16)

    2024-07-11 01:26:05       50 阅读
  7. 算法训练Day40(动态规划

    2024-07-11 01:26:05       57 阅读
  8. 算法训练Day39(动态规划

    2024-07-11 01:26:05       50 阅读
  9. 代码随想录——动态规划day57

    2024-07-11 01:26:05       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 01:26:05       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 01:26:05       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 01:26:05       57 阅读
  4. Python语言-面向对象

    2024-07-11 01:26:05       68 阅读

热门阅读

  1. 自定义业务非受检异常

    2024-07-11 01:26:05       25 阅读
  2. GPT-5 一年半后发布?对此你有何期待?

    2024-07-11 01:26:05       22 阅读
  3. DSC主备归档报错

    2024-07-11 01:26:05       22 阅读
  4. DangerWind-RPC-framework---三、服务端下机

    2024-07-11 01:26:05       20 阅读
  5. spring管理bean源码解析

    2024-07-11 01:26:05       20 阅读
  6. a+=1和a=a+1的区别

    2024-07-11 01:26:05       20 阅读
  7. threadLocal

    2024-07-11 01:26:05       20 阅读
  8. GESP C++ 三级真题(2023年9月)T2 进制判断

    2024-07-11 01:26:05       23 阅读
  9. qt中connect函数的使用方法

    2024-07-11 01:26:05       27 阅读