【代码随想录】day41

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


一、343整数拆分

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

二、96不同的二叉搜索树

cpp 复制代码
class Solution {
public:
    int numTrees(int n) {
        vector<int> dp(n + 1, 1);
        for (int i = 2; i <= n; i ++) {
            //j为根结点的值
            int count = 0;
            for (int j = i; j > 0; j --) {
                int left = j - 1;
                int right = i - j;
                count += dp[left] * dp[right];
            }
            dp[i] = count;
        }
        return dp[n];
    }
};

相关推荐
式5163 分钟前
线性代数(七)主变量与特解
线性代数·算法
业精于勤的牙6 小时前
浅谈:算法中的斐波那契数(二)
算法·职场和发展
不穿格子的程序员6 小时前
从零开始写算法——链表篇4:删除链表的倒数第 N 个结点 + 两两交换链表中的节点
数据结构·算法·链表
liuyao_xianhui7 小时前
寻找峰值--优选算法(二分查找法)
算法
dragoooon347 小时前
[hot100 NO.19~24]
数据结构·算法
电子硬件笔记7 小时前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
Tony_yitao8 小时前
15.华为OD机考 - 执行任务赚积分
数据结构·算法·华为od·algorithm
C雨后彩虹9 小时前
任务总执行时长
java·数据结构·算法·华为·面试
风筝在晴天搁浅9 小时前
代码随想录 463.岛屿的周长
算法