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

    1. Title

    Unique Binary Search Trees

    2.   Http address

    https://leetcode.com/problems/unique-binary-search-trees/

    3. The question

    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

    4 My code (AC)
     1 public class UniqueBinarySearchTrees {
     2 
     3     public static void main(String[] args) {
     4         // TODO Auto-generated method stub
     5         System.out.println(numTrees(50));
     6     }
     7     
     8     // Accepted
     9       public static int numTrees(int n) {
    10           
    11           if ( n == 0)
    12               return 0;
    13           if ( n == 1)
    14               return 1;
    15           if ( n == 2)
    16               return 2;
    17           if ( n == 3)
    18                return 5;
    19           int sum;
    20           int opt[] = new int[n+1];
    21           opt[1] = 1;
    22           opt[2] = 2;        // n == 2;
    23           opt[3] = 5;        // n == 3;
    24           for( int i = 4; i <= n; i++)
    25           {
    26               // sum =  [opt(1) * opt(n-2) +   opt(3) * opt ( n-3)  ..... + opt(n-1) * opt(1)]  n = i -2;
    27               sum = 0;
    28               for( int j = 1; j <= i - 2; j++)
    29               {
    30                   sum += opt[j] * opt[i-j-1];
    31               }
    32              opt[i] = 2 * opt[i-1] + sum;
    33           }
    34           return opt[n];
    35         }
    36 
    37 }
  • 相关阅读:
    List(双向链表)
    Queue(队列)
    Queue(队列)
    Stack(栈)
    Stack(栈)
    Vector(容器)
    gitlab代码库
    Jenkins自动化部署平台
    Maven私服仓库
    VM架构设计文档初稿v0.01
  • 原文地址:https://www.cnblogs.com/ordili/p/4928302.html
Copyright © 2011-2022 走看看