zoukankan      html  css  js  c++  java
  • [Leetcode]

    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

    class Solution {
    public:
      int numTrees(int n) {
        if (n <= 2) return n;
        vector<int>nums(n + 1);
        nums[0] = 1;
        for (int i = 1; i <= n; ++i ) {
          if (i < 3) {
            nums[i] = i;
            continue;
          }
          for (int j = 1; j <= i; ++j) {
            nums[i] += nums[j - 1] * nums[i - j];
          }
        }
        return nums[n];
      }
    };

  • 相关阅读:
    导弹拦截版
    [USACO1.5]数字三角形 Number Triangles
    FBI树
    修复公路
    台阶问题
    阶乘问题
    连续自然数和
    又是毕业季I
    生活大爆炸版石头剪刀布
    曹冲养猪
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4853467.html
Copyright © 2011-2022 走看看