Day31力扣打卡

打卡记录

由子序列构造的最长回文串的长度(区间DP)

先将两个字符串合并,再仿照 最长回文子序列 的做法,从中间开始往外进行遍历,由于是两个字符串,在 最长回文子序列 的做法上需要满足 len(word1) < j 的条件答案。

python 复制代码
class Solution:
    def longestPalindrome(self, word1: str, word2: str) -> int:
        s = word1 + word2
        ans, n = 0, len(s)
        f = [[0] * n for _ in range(n)]
        max = lambda x, y: x if x > y else y
        for i in range(n - 1, -1, -1):
            f[i][i] = 1
            for j in range(i + 1, n):
                if s[i] == s[j]:
                    f[i][j] = f[i + 1][j - 1] + 2
                    if i < len(word1) <= j:
                        ans = max(ans, f[i][j])
                else: f[i][j] = max(f[i + 1][j], f[i][j - 1])
        return ans

多边形三角剖分的最低得分(区间DP)

先将问题分割为小问题,设 i, j, k 三点将多边形分为三块小多边形,k 为中间节点,类似于 Floyd 的算法思想。大佬的题解

python 复制代码
class Solution:
    def minScoreTriangulation(self, values: List[int]) -> int:
        n = len(values)

        f = [[0] * n for _ in range(n)]
        for i in range(n - 3, -1, -1):
            for j in range(i + 2, n):
                f[i][j] = min(f[i][k] + f[k][j] + values[i] * values[j] * values[k] 
                for k in range(i + 1, j))
        return f[0][n - 1]
相关推荐
java1234_小锋7 分钟前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 使用Keras.Model来定义模型
python·深度学习·tensorflow·tensorflow2
Learn Beyond Limits11 分钟前
TensorFlow Implementation of Content-Based Filtering|基于内容过滤的TensorFlow实现
人工智能·python·深度学习·机器学习·ai·tensorflow·吴恩达
java1234_小锋11 分钟前
TensorFlow2 Python深度学习 - 函数式API(Functional API)
python·深度学习·tensorflow·tensorflow2
Y2003091612 分钟前
使用 PyTorch 实现 MNIST 手写数字识别
python
马尚来19 分钟前
移动端自动化测试Appium,从入门到项目实战Python版
python
朝新_20 分钟前
【优选算法】第一弹——双指针(上)
算法
天才测试猿31 分钟前
WebUI自动化测试:POM设计模式全解析
自动化测试·软件测试·python·selenium·测试工具·设计模式·测试用例
艾莉丝努力练剑42 分钟前
【C++STL :stack && queue (一) 】STL:stack与queue全解析|深入使用(附高频算法题详解)
linux·开发语言·数据结构·c++·算法
MonkeyKing_sunyuhua43 分钟前
python线程间怎么通信
android·网络·python
跳跳的向阳花1 小时前
01、大模型部署方案与Dify的使用
python