zoukankan      html  css  js  c++  java
  • 【树】Unique Binary Search Trees

    题目:

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n?

    For example,
    Given n = 3, there are a total of 5 unique BST's.

       1         3     3      2      1
               /     /      /       
         3     2     1      1   3      2
        /     /                        
       2     1         2                 3

    思路:

    依次把每个节点作为根节点,左边节点作为左子树,右边节点作为右子树,那么总的数目等于左子树数目*右子树数目

    /**
     * @param {number} n
     * @return {number}
     */
    var numTrees = function(n) {
        if(n==0){
            return 1;
        }
        if(n==1){
            return 1;
        }
        
        var count=[];
        var temp;
        count[0]=1;
        count[1]=1;
        count[2]=2;
        for(var i=3;i<=n;i++){
            temp=0;
            for(var k=0;k<i;k++){
                temp+=count[k]*count[i-k-1]
            }
            count[i]=temp;
        }
        return count[n];
        
    };
  • 相关阅读:
    go第二天
    go第一天
    engish
    english
    git 生成公钥
    tp5 验证码
    css处理文本折行截断
    数组对象总结(牢记)
    全局css样式
    Flexbox 弹性盒子布局
  • 原文地址:https://www.cnblogs.com/shytong/p/5164207.html
Copyright © 2011-2022 走看看