leetcode-12双周赛-1246-删除回文子数组
Posted 真不知道叫啥好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-12双周赛-1246-删除回文子数组相关的知识,希望对你有一定的参考价值。
题目描述:
方法:区间dp O(N^3)
class Solution: def minimumMoves(self, A: List[int]) -> int: N = len(A) dp = [[0] * (N+1) for _ in range(N+1)] for i in range(N+1): dp[i][i] = 1 for size in range(2, N+1): for i in range(N - size + 1): j = i + size - 1 dp[i][j] = 1 + dp[i+1][j] if A[i] == A[i+1]: dp[i][j] = min(dp[i][j] , 1 + dp[i+2][j]) for k in range(i+2, j+1): if A[i] == A[k]: dp[i][j] = min(dp[i][j] , dp[i+1][k-1] + dp[k+1][j]) return dp[0][N-1]
以上是关于leetcode-12双周赛-1246-删除回文子数组的主要内容,如果未能解决你的问题,请参考以下文章