Portland-Chinese-folks-PoP-leetcode / Leetcode_solution

Fuck leetcode
8 stars 1 forks source link

回文串DP 的一个重要构建dp的公式。这玩意放哪儿都一样写。代码一模一样。 #30

Open zyune opened 2 years ago

zyune commented 2 years ago

dp 数组定义 dp[i][j]的boolean值代表了 s[i:j] 是否是回文串

        n = len(s)
        for i in range(n - 1, -1, -1):
            for j in range(i + 1, n):
                print('    i is ', i, 'j is ', j)
                dp[i][j] = (s[i] == s[j]) and dp[i + 1][j - 1]
zyune commented 2 years ago

有时候从头开始构建dp数组是非常复杂的事儿。并且很多时候想不到。可以使用这类dp模板。这个模板可以用于处理如下两题 https://leetcode.cn/problems/palindrome-partitioning/ DP+ backrtack https://leetcode.cn/problems/longest-palindromic-substring/submissions/ 直接用DP + 一个循环,其实一个DP就够