当前位置: 首页 > news >正文

左神算法之二叉树的个数

目录

  • 1. 题目
  • 2. 解释
  • 3. 思路
  • 4. 代码
  • 5. 总结

1. 题目

给定节点个数,问,能返回多少个不同的二叉树

2. 解释

3. 思路

使用递归,当 n 是1 的时候,值是1, 当 n 是 2 的时候,值是 2
节点个数是左侧节点的变化 * 右侧节点的变化

4. 代码

public class Proble06_UniqueBST {public static int numTrees(int n) {int[] dp = new int[n + 1];dp[0] = 1;for (int i = 1; i <= n; i++) {for (int j = 0; j < i; j++) {dp[i] += dp[j] * dp[i - j - 1];}}return dp[n];}// 递归public static int process(int n) {if (n < 2) {return 1;}int ans = 0;for (int i = 0; i <= n - 1; i++) {int left = process(i);int right = process(n - 1 - i);ans += left * right;}return ans;}public static void main(String[] args) {int n = 5;System.out.println(numTrees(n));System.out.println(process(n));}
}

5. 总结

一个递归就好解决了吗,so easy

http://www.lqws.cn/news/494353.html

相关文章:

  • 数据标注师学习内容
  • Domain 层完全指南(面向 iOS 开发者)
  • 【数据结构初阶】--顺序表(一)
  • FPGA基础 -- Verilog 验证平台
  • 《哈希表》K倍区间(解题报告)
  • 论文略读:ASurvey on Intent-aware Recommender Systems
  • 13-MCP4725-带 EEPROM 存储器的 12 位数模转换器
  • DeepSeek中的提示库及其用法示例
  • AI编程再突破,文心快码发布行业首个多模态、多智能体协同AI IDE
  • leetcode543-二叉树的直径
  • Flink SQL执行流程深度剖析:从SQL语句到分布式执行
  • 【Linux学习笔记】进程间通信之共享内存
  • Kimi“新PPT助手” ,Kimi全新自研的免费AI生成PPT助手
  • 金融行业B端系统布局实战:风险管控与数据可视化的定制方案
  • 深入理解PHP中的面向对象编程
  • 电脑的虚拟内存对性能影响大吗
  • FPGA基础 -- Verilog 竞争/竞态(Race Condition)
  • ubuntu安装postman教程并中文汉化详细教程
  • Anaconda虚拟环境
  • flutter TabBar左边间隔问题
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 8】【DeviceProperties介绍】
  • Java数据结构第二十四期:探秘 AVL 树,当二叉搜索树学会 “自我调节”
  • 2025再升级:医疗数智立体化体系V2.0架构简介
  • 布瑞琳BRANEW:高端洗护领航者,铸就品质生活新典范
  • 以产教协同推进老年生活照护实训室虚拟仿真建设策略
  • 物联网的全球布局与未来趋势
  • 在Ubuntu上设置Firefox自动化测试环境:指定Marionette端口号
  • MySQL 事务实现机制详解
  • DMDIS表抽取到文件
  • 3、结合STM32CubeMX学习FreeRTOS实时操作系统——队列