与えられた数の二分木ノード(X)は、Xノードを持つ二分木のランダム順列の数を返すメソッドを記述します。
例:
X = 1:1
o
X = 2:2
o o
o o
X = 3:5
o o o o o
o o o o o o
o o o o
私は結局:
public static int numOfPerms(int numOfNodes) {
if (numOfNodes<=2 && numOfNodes > 0) {
return numOfNodes;
}
int res = 1;
for (int i=1; i<=numOfNodes; i++) {
res = res*(4*i-1)/(i+1);
}
return res;
}
ここでより良い解決策を共有していただければ幸いです。