LeetCode 96. Unique Binary Search Trees
- 2020 年 2 月 11 日
- 筆記
第一發超時了,可以用一個數組表示狀態,所有相等長度的區間,它的BST數目是一樣的。
class Solution { public: int vis[10005]; int numTrees(int n) { if(n<1) return 0; vis[1]=1; return fun(1,n); } int fun(int l,int r) { if(vis[r-l+1]!=0) { return vis[r-l+1]; } int num=0; for(int i=l;i<=r;i++) { int lefts = fun(l,i-1); int rights = fun(i+1,r); num += lefts * rights; } if(num==0) num++; vis[r-l+1]=num; return num; } };