Leetcode 96. 不同的二叉搜索树(DAY 28) ---- 动态规划学习期 (含题解)
发布日期:2021-06-30 22:24:40 浏览次数:3 分类:技术文章

本文共 593 字,大约阅读时间需要 1 分钟。

原题题目

在这里插入图片描述



思路图片 (官方题解)

在这里插入图片描述



代码实现(首刷半看解半自解)

int numTrees(int n){
int dp[30] = {
0},count = 0,j,i; dp[0] = 1,dp[1] = 1,dp[2] = 2; for(i=3;i<=n;i++) {
j = i,count = 0; do {
count += (dp[i-j] * dp[j-1]); j--; } while(j!=0); dp[i] = count; } return dp[n];}

代码实现(二刷约等于自解)

class Solution {
public: int numTrees(int n) {
vector
dp(n+1,0); dp[0] = dp[1] = 1; for(int i=2;i<=n;++i) for(int j=0;j<=i-1;++j) dp[i] += dp[j]*dp[i-j-1]; return dp[n]; }};

转载地址:https://love6.blog.csdn.net/article/details/112916694 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Leetcode 剑指 Offer 47. 礼物的最大价值(DAY 28) ---- 动态规划学习期
下一篇:Leetcode 714. 买卖股票的最佳时机含手续费(DAY 27) ---- 动态规划学习期

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月17日 16时06分37秒