[leetcode]unique-binary-search-trees

哀哀欲绝
• 阅读 4480

给定n, 1:n 这些数字一共可以组成多少BST

思路

  1. 递归 一共n个,root是1个(可能是1:n中的一个),左边分到比root小的i-1个,右边分到比root大的n-i个,左边的组合数*右边的组合数

Solution 1

class Solution {
public:
    int numTrees(int n) {
        if(n==1||n==0){
            return 1;    
        }
        else{
            int num = 0;
            for(int i=1;i<=n;i++){ //i是root的值
                num += (numTrees(i-1)*numTrees(n-i)); //left*right
            }   
            return num;
        }
    }
};
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
java 冒泡排序
思路1.将序列当中的左右元素,依次比较,保证右边的元素始终大于左边的元素;(第一轮结束后,序列最后一个元素一定是当前序列的最大值;)2.对序列当中剩下的n1个元素再次执行步骤1。3.对于长度为n的序列,一共需要执行n1轮比较时间复杂度最佳情况:T(n)O(n)最差情况:T(n)O(n2)平均情
DaLongggggg DaLongggggg
4年前
python刷题-特殊回文数
问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。输入格式  输入一行,包含一个正整数n。输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 
Karen110 Karen110
4年前
人工智能数学基础6:无穷大和无穷小的大小比较以及斯特林公式
1.无穷大的大小排列n、a1、a2、a3为自然数(表述为n∈N),n趋于无穷大(n→∞),a1、a2、a3大于1,则下列实数的大小排列为:2\.无穷小的大小排列将无穷大的大小排列公式中比较的数字作为分母,1作为分子,大于号改为小于号,则可以作为无穷小大小排列公式:3.极限值n为自然数(表述为n∈N),n趋于无穷大(n→∞),a2、a3大于1,则
Stella981 Stella981
4年前
Python——Day1(笔记代码)
print('HelloWorld')"""n1input('请输入用户名:')print(n1)n2input('请输入密码:')print(n2)""""""n1"alex"n2"root"print(n1'\\t'n2)print(n2)""""""
Wesley13 Wesley13
4年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
4年前
LeetCode 5561. 获取生成数组中的最大值
文章目录1\.题目2\.解题1\.题目给你一个整数n。按下述规则生成一个长度为n1的数组nums:nums00nums11当2<2i<n时,nums2inumsi
Stella981 Stella981
4年前
Bzoj4899 记忆的轮廓
B.记忆的轮廓题目描述通往贤者之塔的路上,有许多的危机。我们可以把这个地形看做是一颗树,根节点编号为1,目标节点编号为n,其中1n的简单路径上,编号依次递增,在\1,n\中,一共有n个节点。我们把编号在\1,n\的叫做正确节点,\n1,m\的叫做错误节点。一个叶子,如果是正确节点则为正确叶子,否则称
曹训 曹训
1年前
2:Python字符串与数字
字符串(引号):只有四种情况如下name"我是编程高手"name'我是编程高手'name"""我是编程高手"""name'''我是编程高手'''加法:n1"alex"n2"sb"n3"df"n4n1n2n3print(n4)"alexsbdf"乘法:n
贾蔷 贾蔷
8个月前
力扣1137题 解题思路和步骤 C++代码实现,力扣一共多少题
一、题目分析力扣1137题要求我们找到第N个泰波那契数。泰波那契数的定义是:T00,T11,T21,且在n0的条件下Tn3TnTn1Tn2。,当n4时,T4T3T2T14。这道题主要考查我们对递归或动态规划的理解和运用。在思考解题方法时,我们