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

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

343. 整数拆分

题目链接
文章讲解

cpp 复制代码
class Solution {
public:
    int integerBreak(int n) {
        vector<int> dp(n + 1);
        dp[2] = 1;
        for (int i = 3; i <= n; i++) {
            for (int j = 1; j <= i / 2; j++) {
                dp[i] = max(dp[i], max(j * (i - j), j * dp[i - j]));
            }
        }
        return dp[n];
    }
};

96.不同的二叉搜索树

题目链接
文章讲解

cpp 复制代码
class Solution {
public:
    int numTrees(int n) {
        if (n <= 2) return n;
        vector<int> dp(n + 1, 0);
        dp[0] = 1;
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                dp[i] += dp[j - 1] * dp[i - j];
            }
        }
        return dp[n];
    }
};
相关推荐
Sunshine for you13 小时前
C++中的表达式模板
开发语言·c++·算法
qwehjk200813 小时前
C++中的状态模式
开发语言·c++·算法
Fortune7913 小时前
自定义类型转换机制
开发语言·c++·算法
nunca_te_rindas13 小时前
递归实现排列型枚举题目例题
算法
2301_8145902513 小时前
实时音频处理C++实现
开发语言·c++·算法
Lisssaa13 小时前
打卡第二十八天
数据结构·算法
小此方13 小时前
算法实战论01(双指针篇一):双指针的核心思想与应用场景总结
c++·算法·力扣
2401_8785302113 小时前
C++与FPGA协同设计
开发语言·c++·算法
2301_8145902513 小时前
C++中的装饰器模式实战
开发语言·c++·算法
weixin_6495556713 小时前
C语言程序设计第四版(何钦铭、颜晖)第十一章指针进阶之查找星期
数据结构·算法