代码随想录day41|343. 整数拆分96. 不同的二叉搜索树
343. 整数拆分
class Solution:def integerBreak(self, n: int) -> int:dp = [0] *(n+1)dp[2]=1if n <3:return dp[n]for i in range(3,n+1):for j in range(1,n):dp[i]=max(j*(i-j),j*dp[i-j],dp[i])return dp[n]
96. 不同的二叉搜索树
class Solution:def numTrees(self, n: int) -> int:dp = [0]*(n+1)dp[0]=1dp[1]=1for i in range(2,n+1):for j in range(1,i+1):dp[i]+=dp[j-1]*dp[i-j]return dp[n]