【代码随想录】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];
    }
};

相关推荐
程序员老舅5 小时前
啃透 I2C 驱动开发,才算入门嵌入式 Linux 内核驱动
数据结构·驱动开发·b树·内核·嵌入式·嵌入式开发·i2c
lueluelue475 小时前
LeetCode:链表
算法·leetcode·链表
橘子汽水1688 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
huameinan狮子8 小时前
Adaboost算法原理与计算实例
算法
别怪我很水8 小时前
API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 ...
算法·gitee·最小二乘法
Re.不晚11 小时前
挑战做100道力扣算法- DAY1
算法·leetcode·职场和发展
蓝悦无人机11 小时前
《Planning algorithms》读书笔记——第1章 引言
算法·读书笔记·规划算法·lavalle
Sagittarius_A*12 小时前
分组密码基础(二):Feistel 结构与 DES 的设计思想
算法·信息安全·密码学·des·数论
青山木12 小时前
Hot 100 --- 搜索插入位置
java·数据结构·算法·leetcode