leetcode:不同的二叉树

cpp 复制代码
class Solution {
public:
    
    int numTrees(int n) 
    {
        vector<int> dp(n+1);
        dp[0] = 1;
        dp[1] = 1;
        for(int i = 2;i <= n;i++)
        {
            for(int j = 1;j <= i;j++) // 当根节点为j时
            {
                dp[i] += dp[j-1] * dp[i-j];
            }
        }
        return dp[n];
    }
};
/*  dp[i] = i个不同的数组成的二叉搜索数的个数
    假设 i = 5
    当根节点等于 1 时 ,其余数字都比1大,只能在右边 dp[i] += dp[4]
    当根节点等于 2 时,左边有一个1比2小,右边有三个比2大的数字 dp[i] += dp[1] * dp[3]
    当根节点等于 3 时,左边有两个数比3小,右边有两个数比3大的数字 dp[i] += dp[2] * dp[2]
    ...
    直到根节点等于5,左边有4个数字比5小,只能放在5的左边,dp[i] += dp[4]
*/
相关推荐
逻辑星辰2 小时前
x-ds-pow-response逆向分析
开发语言·人工智能·python·深度学习·算法
CQU_JIAKE2 小时前
6.9【aAAA]
算法
Lewiis2 小时前
白话桶排序
数据结构·算法·golang·排序算法
非生而知之者2 小时前
基于灰狼算法优化的电量预测
python·算法·群体智能算法·电力预测
ywl4708120872 小时前
‌HashMap 1.8 的扩容机制(Resize)‌
算法·哈希算法
_Evan_Yao2 小时前
递归函数入门:以阶乘和斐波那契数列为例
python·学习·算法
DFT计算杂谈2 小时前
WannierTools输入文件wt.in一键批量生成脚本
java·前端·chrome·python·算法·conda
叫我:松哥2 小时前
基于卷积神经网络的人脸情绪识别算法,引入残差连接与SE注意力模块
人工智能·深度学习·神经网络·算法·cnn·迁移学习·图像识别
KaMeidebaby3 小时前
卡梅德生物技术快报|羊驼免疫:分子生物学实战:基于羊驼免疫的重链抗体制备与全流程验证方案
前端·网络·数据库·人工智能·算法·百度
oort1233 小时前
AI+基层治理·智慧政务解决方案——AI民意速办智能助手
大数据·人工智能·算法·政务