Problem: [343. 整数拆分](https://leetcode.cn/problems/integer-break/description/)
思路
其实这道题目的解法之前一直没有看明白。
主要是要搞清楚dp数组的含义:拆分i得到的最大值。
递推公式:dp[i] = max(i * dp[i-j],i * (i -j), dp[j])
初始化:0、1、2我们可以直接写出来0、0、1
递推顺序:从3以后开始,是两层循环,因为要对i进行j次拆分取得最大值
其实这里这个dp[i] = max(i * dp[i-j],i * (i -j), dp[j])
dp【j】我还是不太明白
复杂度
时间复杂度:
添加时间复杂度, 示例: $O(n)$
空间复杂度:
添加空间复杂度, 示例: $O(n)$
Code
1 |
|