回文を分割する最小回数

題名

class Solution:
    def minCut(self, s):
        if not s:
            return 0
        s_len = len(s)
        mem = [i for i in range(-1, s_len)]
        for i in range(1, s_len + 1):
            for j in range(i):
                if s[j:i] == s[j:i][::-1]:
                    mem[i] = min(mem[i], mem[j] + 1)
        return mem[-1]
a = Solution().minCut('aaba')
print(a)

おすすめ

転載: blog.csdn.net/aaaqqq1234/article/details/108238201