ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

代码随想录刷题第四十一天| 343. 整数拆分 ● 96.不同的二叉搜索树

2026/9/25 18:33:08 拓冰建站 浏览量
代码随想录刷题第四十一天| 343. 整数拆分 ● 96.不同的二叉搜索树

代码随想录刷题第四十一天

** 今天的两道题都非常难,二刷的时候要重点整理思路**

整数拆分 (LC 343)

题目思路:

在这里插入图片描述

代码实现:

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

不同的二叉搜索树 (LC 96)

题目思路:

在这里插入图片描述

代码实现:

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