代码随想录算法训练营第四十一天| ● 343. 整数拆分 ● 96.不同的二叉搜索树

343. 整数拆分

但还是不太懂 需要再看看    dp[i]=max(j*(i-j),j*dp[i-j],dp[i])

dp[i]:i拆分之后得到的最大积为dp[i]

class Solution:
    def integerBreak(self, n: int) -> int:
        dp=[0]*(n+1)
        dp[0]=0
        dp[1]=0
        dp[2]=1
        for i in range(3,n+1):
            for j in range(1,i+1):
                dp[i]=max(j*(i-j),j*dp[i-j],dp[i])
            
        return dp[n]

96.不同的二叉搜索树

先不做这个  先跳过

你可能感兴趣的:(算法,leetcode,数据结构)