LeetCode96:不同的二叉搜索树

题目描述
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

在这里插入图片描述
代码

/*
       dp[i]:表示i个节点有dp[i]个不同的二搜索叉树

       递推公式:dp[i] += dp[j-1] * dp[i-j], j代表头节点 dp[j-1]代表左子树的形态个数
                                                         dp[i-j]代表右子树的形态个数
       初始化:dp[0] =1 , dp[1] = 1, dp[2] = 2;

       遍历顺序:从小到大


*/
class Solution {
public:
    int numTrees(int n) {
        if (n == 0) return 1;
        else if (n <= 2) return n;
        vector<int> dp(n + 1);
        dp[0] = 1, dp[1] = 1, dp[2] = 2;
        for (int i = 3; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                dp[i] += dp[j - 1] * dp[i - j];
            }
        }
        int  result = 0;
        for (int num : dp)
            result += num;

        return result;
    }
};

相关推荐

  1. 动态规划 Leetcode 96 不同搜索

    2024-05-11 16:20:03       48 阅读
  2. 代码随想录 96. 不同搜索

    2024-05-11 16:20:03       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 16:20:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 16:20:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 16:20:03       87 阅读
  4. Python语言-面向对象

    2024-05-11 16:20:03       96 阅读

热门阅读

  1. 2024数维杯数学建模竞赛C题思路代码和论文分析

    2024-05-11 16:20:03       55 阅读
  2. Redis当中用StringRedisTemplate封装好的工具类

    2024-05-11 16:20:03       32 阅读
  3. 【Python】Python中assert语句的用法

    2024-05-11 16:20:03       33 阅读
  4. Python: 日期和时间格式化

    2024-05-11 16:20:03       32 阅读
  5. element-plus 工作经验总结

    2024-05-11 16:20:03       34 阅读
  6. nginx开启目录索引搭建文件服务器

    2024-05-11 16:20:03       37 阅读
  7. openssh升级最新脚本及问题处理

    2024-05-11 16:20:03       26 阅读
  8. VIM_beginner

    2024-05-11 16:20:03       29 阅读