leetcode96. 不同的二叉搜索树 动归vs数学?
生活随笔
收集整理的這篇文章主要介紹了
leetcode96. 不同的二叉搜索树 动归vs数学?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個整數 n,求以?1 ...?n?為節點組成的二叉搜索樹有多少種?
示例:
輸入: 3
輸出: 5
解釋:
給定 n = 3, 一共有 5 種不同結構的二叉搜索樹:
? ?1 ? ? ? ? 3 ? ? 3 ? ? ?2 ? ? ?1
? ? \ ? ? ? / ? ? / ? ? ?/ \ ? ? ?\
? ? ?3 ? ? 2 ? ? 1 ? ? ?1 ? 3 ? ? ?2
? ? / ? ? / ? ? ? \ ? ? ? ? ? ? ? ? \
? ?2 ? ? 1 ? ? ? ? 2 ? ? ? ? ? ? ? ? 3
思路:dp[n]代表答案,則dp[n]=
左子樹1節點,右子樹n-1節點
左子樹2節點,右子樹n-2節點
................................
左子樹n-1節點,右子樹1節點
所有情況加起來。
public class Solution {public int numTrees(int n) {int[] dp = new int[n + 1];dp[0] = 1;dp[1] = 1;for (int i = 2; i <= n; ++i) {for (int j = 1; j <= i; ++j) {dp[i] += dp[j - 1] * dp[i - j];}}return dp[n];} }官方有一個數學,太強了。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的leetcode96. 不同的二叉搜索树 动归vs数学?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis的入门/原理/实战大总结
- 下一篇: 快排-荷兰国旗