feat: 2025-10-31打卡
This commit is contained in:
32
96.unique-binary-search-trees.java
Normal file
32
96.unique-binary-search-trees.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* @lc app=leetcode id=96 lang=java
|
||||||
|
*
|
||||||
|
* [96] Unique Binary Search Trees
|
||||||
|
*/
|
||||||
|
|
||||||
|
// @lc code=start
|
||||||
|
class Solution {
|
||||||
|
/**
|
||||||
|
* dp[n] = dp[n-1] + dp[1]+dp[n-2]
|
||||||
|
*
|
||||||
|
* @param n
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int numTrees(int n) {
|
||||||
|
int[] dp = new int[n+1];
|
||||||
|
for(int i=1; i<=n; i++) {
|
||||||
|
dp[i] = 0;
|
||||||
|
}
|
||||||
|
dp[1] = 1;
|
||||||
|
for(int i=2; i<=n; i++) {
|
||||||
|
for(int j=0; j<=i-1;j++) {
|
||||||
|
int left = j>0?dp[j]:1;
|
||||||
|
int right = i-1-j>0?dp[i-1-j]:1;
|
||||||
|
dp[i] += left*right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dp[n];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// @lc code=end
|
||||||
|
|
||||||
Reference in New Issue
Block a user