# 二叉搜尋樹的特點是左子樹小於根節點,右子樹大於根節點。
# 因此當根節點為i的時候,左子樹的值為1:i-1,右子樹為i+1:n
# 當節點為n的時候所有的能夠組成的樹為左子樹個數乘以右子樹個數。
class Solution:
def numTrees(self, n: int) -> int:
dp = [0] * (n + 1)
dp[0] = 1
for index1 in range(1,n + 1):
for index2 in range(1,index1 + 1):
# dp[index2 - 1]代表左子樹個數
# dp[index1 - index2]代表右子樹個數
dp[index1] += dp[index2 - 1] * dp[index1 - index2]
return dp[n]
A = Solution()
print(A.numTrees(3))
96不同的二查搜尋樹
相關文章
- 96. 不同的二叉搜尋樹
- <動態規劃>Leetcode96.不同的二叉搜尋樹動態規劃LeetCode
- LeetCode 熱題 HOT 100 Java題解——96. 不同的二叉搜尋樹LeetCodeJava
- [Python手撕]不同的二叉搜尋樹Python
- LeetCode-096-不同的二叉搜尋樹LeetCode
- 96-Unique Binary Search Trees 二叉搜尋樹的數量
- Day 36 | 62.不同路徑 、 63. 不同路徑 II 、343. 整數拆分、96.不同的二叉搜尋樹
- LeetCode-095-不同的二叉搜尋樹 IILeetCode
- [leetCode]95. 不同的二叉搜尋樹 IILeetCode
- 程式碼隨想錄day34 || 62 不同路徑,63 不同路徑||,343整數拆分,96 不同搜尋二叉樹二叉樹
- (40/60)整數拆分、不同的二叉搜尋樹
- 二叉搜尋樹
- 從二分搜尋到二叉搜尋樹
- 二分搜尋樹系列之[查詢(Search)-包含(Contain)]AI
- 二分搜尋樹系列之「查詢(Search)-包含(Contain)」AI
- 二叉搜尋樹的結構
- 二分搜尋樹元素的插入
- 二叉搜尋樹的操作集
- Leetcode 700. 二叉搜尋樹中的搜尋(DAY 2)LeetCode
- Day20 | 654.最大二叉樹 、 617.合併二叉樹 、 700.二叉搜尋樹中的搜尋 98.驗證二叉搜尋樹二叉樹
- leetcode 700. 二叉搜尋樹中的搜尋 思考分析LeetCode
- 實現二叉搜尋樹的新增,查詢和刪除(JAVA)Java
- 二叉搜尋樹的python實現Python
- 二叉搜尋樹和二叉樹的最近公共祖先二叉樹
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 程式碼隨想錄day18 || 530 二叉搜尋樹最小差,501 二叉搜尋樹眾數,236 二叉搜尋樹最近公共祖先
- 有序表和搜尋二叉樹二叉樹
- 二分搜尋樹(Binary Search Tree)
- javascript實現二叉搜尋樹JavaScript
- 二分搜尋(折半查詢)
- Java中在二叉搜尋樹中查詢節點的父節點Java
- js實現完全排序二叉樹、二叉搜尋樹JS排序二叉樹
- 手寫AVL平衡二叉搜尋樹
- 資料結構-二分搜尋樹資料結構
- 資料結構-二叉搜尋樹資料結構
- 演算法篇 - 二叉搜尋樹演算法
- 【資料結構】二叉搜尋樹!!!資料結構