96. 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
二分查找树的定义是,左子树节点均小于root,右子树节点均大于root~~~
所以可以用递推的方法,把v[i]表示i个数能够构成的二叉搜索树的个数~~
初始化边界值是 v[0]=1,v[1]=1,v[2]=2~~~
当i>=3的时候,若以j为root结点,v[j-1]等于root结点左边的j-1个结点能构成的BST个数~~
v[i-j]等于root结点右边i-j个结点能构成的BST个数~//j+1~i的种数和0~i-j的种数一样。。所以就是v[i-j]~
所以v[j-1] * v[i-j]等于以j为root结点能构成的BST种数~~~
j可以取1~i中的任意一个值,把这些所有计算出来的总数相加就是v[i]的值~~~~
所以 for(int j = 1; j <= i; j++) {
v[i] += v[j-1] * v[i-j];
}

最后返回的值是v[n]的值,表示1~n能组成的BST的个数~~~~

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

LeetCode 96. Unique Binary Search Trees相关推荐

  1. 【卡塔兰数】LeetCode 96. Unique Binary Search Trees

    LeetCode 96. Unique Binary Search Trees 本博客转载自:http://www.cnblogs.com/grandyang/p/4299608.html Solut ...

  2. [LeetCode]: 96: Unique Binary Search Trees

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

  3. [swift] LeetCode 96. Unique Binary Search Trees

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

  4. leetcode 95. Unique Binary Search Trees II | 96. Unique Binary Search Trees

    95. Unique Binary Search Trees II https://leetcode.com/problems/unique-binary-search-trees-ii/ 题解 题是 ...

  5. 【重点 递归构造二叉树】LeetCode 95. Unique Binary Search Trees II

    LeetCode 95. Unique Binary Search Trees II 本博客转载自:[1]https://segmentfault.com/a/1190000007443961 [2] ...

  6. 96. Unique Binary Search Trees(I 和 II)

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

  7. LeetCode:96. Unique Binary Search Trees(找出独一无二搜索树)

    文章最前: 我是Octopus,这个名字来源于我的中文名--章鱼:我热爱编程.热爱算法.热爱开源.所有源码在我的个人github :这博客是记录我学习的点点滴滴,如果您对 Python.Java.AI ...

  8. 96. Unique Binary Search Trees 不同的二叉搜索树

    Title 给定一个整数 n,求以 1 - n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1\ ...

  9. 96. Unique Binary Search Trees【力扣】

    题意理解 给定一个整数n,从1到n序列可组成多少个不同的二叉树? 问题分析 用动态规划 状态量是dp[i]表示i个整数可组成不同的二叉树的数量. 状态转移方程 dp[i] = sum(dp[j-1] ...

最新文章

  1. openpose_net随机搜索网络源代码
  2. yellow weasel
  3. 【知识图谱】如何构建知识体系:知识图谱搭建的第一步
  4. 查询oracle中用户的角色,oracle中用户角色的查询和授权
  5. 前端学习(2362):上拉加载
  6. Dockerfile语法简介(精)
  7. 什么是气泡图?怎样用Python绘制?怎么用?终于有人讲明白了
  8. C#中输入法全角转换半角
  9. 微信十年,领取纪念勋章头像!
  10. 【CF-1285E】Delete a Segment(区间处理(并集)----思维)
  11. 互联网从此没有 BAT
  12. SpringBoot的Upd服务端,客户端案列
  13. 透镜成像、眼球成像、小孔成像原理
  14. python tkinter 实现图片格式批量转换小工具
  15. 多智能体强化学习【Windows\Ubuntu 安装星际争霸Ⅱ】
  16. 设置JSP页脚版权标识
  17. win7已经阻止此发行者在您的计算机上运行软件,Win7系统提示Windows已经阻止此软件因为无法验证发行者解决方法...
  18. Qt编写4K/8K大分辨率播放器(8K占用1%CPU)
  19. python_考勤时间
  20. GitHub Pages 快速搭建个人主页

热门文章

  1. hashMap 和linkedHashMap
  2. 路径找不到时该怎么解决
  3. 详细解读Android中的搜索框(二)—— Search Dialog
  4. 对中文版“Siri”打个招呼吧!
  5. 博客生活的另一种境界![博友话题]
  6. 苹果发布 iOS 和 macOS 更新,修复已遭利用0day
  7. PyPI 管理员删除已潜伏10个月且下载量超1万次的恶意包
  8. 数百万戴尔设备遭 BIOSConnect 代码执行漏洞影响
  9. 有人滥用 GitHub Actions在 GitHub 服务器挖掘密币,且正在蔓延
  10. Go 语言——基本类型