-------0
class Solution: def numTrees(self, n: int) -> int: dp = [0] * (n + 1) dp[0] = 1 dp[1] = 1 for i in range(2, n + 1): for j in range(i): dp[i] += dp[j] * dp[i - j - 1] return dp[-1]
执行用时 :24 ms, 在所有 python 提交中击败了42.63%的用户
内存消耗 :11.7 MB, 在所有 python 提交中击败了40.74%的用户
——2019.11.13
动态规划。
自己还是没能动态出来,没找到规律。
public int numTrees(int n) { int[] f = new int[n+1]; f[0] = 1; f[1] = 1; for(int i = 2;i<=n;i++){ for(int k = 1;k<=i;k++){ f[i] += f[k-1] * f[i-k]; } } return f[n]; }
——2020.7.1