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]
相关推荐
用户03321266636710 小时前
Python 实现 Excel 转 XML:快速上手
python·excel
Zhou14113610 小时前
MyBatisPlus_02_条件构造器与高级功能
java·开发语言·python
打工仔折腾 AI10 小时前
网易UU远程实测:手机控电脑做Python开发和Agent调试的真实体验
人工智能·后端·python·智能手机·性能优化·电脑·ai agent 实战
轩轶子10 小时前
Python CLI Todo:一次数据结构错误引发的 Bug
数据结构·python·bug
“AI国潮设计-小江”10 小时前
【AIGC实战】Python+SDXL打造潮汕国潮IP:英歌舞麻将的自动化生成与商用思路
开发语言·人工智能·python·prompt·aigc
Omics Pro10 小时前
空间组学!医学代谢显微工具
数据库·人工智能·算法·机器学习·自然语言处理
zh路西法10 小时前
【上手一只MicroDuck】:(一)从机器人结构到强化学习训练框架
python·强化学习·huggingface·ppo·mujoco·microduck
Coder-magician10 小时前
《代码随想录》刷题打卡day44:图论-part02
算法·深度优先·图论
克里斯蒂亚诺更新10 小时前
理解机器学习的各种算法
人工智能·算法·机器学习
小范的技术工坊10 小时前
大模型学习操作文档(13个核心概念串讲)
人工智能·学习·算法·大模型