leetcode-165周赛-1278-分割回文串③

题目描述:

 

 

 

 动态规划:O(N^3)

class Solution:
    def palindromePartition(self, s: str, k: int) -> int:
        def cost(i, j):
            r = 0
            while i < j:
                if s[i] != s[j]: r += 1
                i += 1
                j -= 1
            return r
        n = len(s)
        f = [cost(0, i) for i in range(n)]
        for _ in range(k-1):
            f = [0 if i==0 else min(f[j] + cost(j+1, i) for j in range(i)) for i in range(n)]
        return f[n-1]

 

posted @ 2019-12-02 20:24  oldby  阅读(135)  评论(0编辑  收藏  举报