一、Leetcode 343. 整数拆分 dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j)); 说要么 j的部分 直接 × (i - j)的部分,要么把 (i - j) 继续拆分求最大积后再 × j的部分。比较最大的。 并且每次换 j部分 也要比一下。 二、Leetcode 96.不同的二叉搜索树 经典代码没几句,算法不好想。它说dp[n] += dp[j - 1] * dp[n - j];