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

面试热题(不同的二分搜索树)

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

 

       经典的面试题,这部分涉及了组合数学中的卡特兰数,如果对其不清楚的同学可以去看我以前的博客卡特兰数

今天用记忆化搜索以及动态规划进行讲解

  • 记忆化搜索
    //维护一个记忆化搜素int[][] memo;public int numTrees(int n) {memo=new int[n+1][n+1];return  count(1,n);}public int count(int left,int right){//单节点,直接返回1if(left>=right){return 1;}if(memo[left][right]!=0){return memo[left][right];}int res=0;//遍历区间内的每一个节点,都作为根节点的情况for(int mid=left;mid<=right;mid++){int l=count(left,mid-1);int r=count(mid+1,right);res+=l*r;}memo[left][right]=res;return res;}
  • 动态规划
   public 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[j]是左树的节点个数 dp[i-j-1]是右树的节点个数dp[i]+=dp[j]*dp[i-j-1];}}return dp[n];}

相关文章:

面试热题(不同的二分搜索树)

给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 经典的面试题&#xff0c;这部分涉及了组合数学中的卡特兰数&#xff0c;如果对其不清楚的同学可以去看我以前的博客卡特兰数 …...

MybatisPlus整合p6spy组件SQL分析

目录 p6spy java为什么需要 如何使用 其他配置 p6spy p6spy是一个开源项目&#xff0c;通常使用它来跟踪数据库操作&#xff0c;查看程序运行过程中执行的sql语句。 p6spy将应用的数据源给劫持了&#xff0c;应用操作数据库其实在调用p6spy的数据源&#xff0c;p6spy劫持到…...

项目实战 — 博客系统③ {功能实现}

目录 一、编写注册功能 &#x1f345; 1、使用ajax构造请求&#xff08;前端&#xff09; &#x1f345; 2、统一处理 &#x1f384; 统一对象处理 &#x1f384; 保底统一返回处理 &#x1f384; 统一异常处理 &#x1f345; 3、处理请求 二、编写登录功能 &#x1f345; …...

卷积神经网络全解:(AlexNet/VGG/ GoogLeNet/LeNet/ResNet/卷积/激活/池化/全连接)、现代卷积神经网络、经典卷积神经网络

CNN&#xff0c;卷积神经网络&#xff0c;Convolution Neural Network 卷积计算公式&#xff1a;N &#xff08;W-F2p&#xff09;/s1 这个公式每次都得看看&#xff0c;不能忘 1 经典网络 按照时间顺序 1.1 LeNet LeNet是 Yann LeCun在1998年提出&#xff0c;用于解决手…...

WDM 模型(Windows Driver Model)简述

WDM 模型(Windows Driver Model) 是微软公司为 Windows98 和 Windows2000 的驱动程序设计的一种架构&#xff0c;在 WDM 驱动程序模型中&#xff0c;每个硬件设备 至少有两个驱动程序。其中一个为功能驱动程序&#xff0c;它了解硬件工作的所有细节&#xff0c;负 责初始化 …...

【算法刷题之数组篇(1)】

目录 1.leetcode-59. 螺旋矩阵 II&#xff08;题2.题3相当于二分变形&#xff09;2.leetcode-33. 搜索旋转排序数组3.leetcode-81. 搜索旋转排序数组 II(与题目2对比理解)&#xff08;题4和题5都是排序双指针&#xff09;4.leetcode-15. 三数之和5.leetcode-18. 四数之和6.leet…...

【数据挖掘】使用 Python 分析公共数据【01/10】

一、说明 本文讨论了如何使用 Python 使用 Pandas 库分析官方 COVID-19 病例数据。您将看到如何从实际数据集中收集见解&#xff0c;发现乍一看可能不那么明显的信息。特别是&#xff0c;本文中提供的示例说明了如何获取有关疾病在不同国家/地区传播速度的信息。 二、准备您的…...

html怎么插入视频?视频如何插入页面

html怎么插入视频&#xff1f;视频如何插入页面 HTML 的功能强大&#xff0c;基本所有的静态效果都可以在此轻松呈现&#xff0c;各种视频网站内有大量的视频内容&#xff0c;本篇文章教你如何在 html 中插入视频 代码如下&#xff1a; <!DOCTYPE html> <html> …...

游戏服务端性能测试

导语&#xff1a;近期经历了一系列的性能测试&#xff0c;涵盖了Web服务器和游戏服务器的领域。在这篇文章中&#xff0c;我将会对游戏服务端所做的测试进行详细整理和记录。需要注意的是&#xff0c;本文着重于记录&#xff0c;而并非深入的编程讨论。在这里&#xff0c;我将与…...

【使用Zookeeper当作注册中心】自己定制负载均衡常见策略

自己定制负载均衡常见策略 一、前言随机&#xff08;Random&#xff09;策略的实现轮询&#xff08;Round Robin&#xff09;策略的实现哈希&#xff08;Hash&#xff09;策略 一、前言 大伙肯定知道&#xff0c;在分布式开发中&#xff0c;目前使用较多的注册中心有以下几个&…...

设计模式十七:迭代器模式(Iterator Pattern)

迭代器模式&#xff08;Iterator Pattern&#xff09;是一种行为型设计模式&#xff0c;它提供了一种访问聚合对象&#xff08;例如列表、集合、数组等&#xff09;中各个元素的方法&#xff0c;而无需暴露其内部表示。迭代器模式将遍历元素和访问元素的责任分离开来&#xff0…...

Python制作爱心并打包成手机端可执行文件

前言 本文是想要将python代码打包成在手机上能执行的文件 尝试了几个库&#xff0c; 有这也那样的限制&#xff0c;最终还是选了BeeWare 环境&#xff1a;python3.7.x 开始 找到打包有相关工具os-android-apk-builder&#xff0c;buildozer&#xff0c;cx_Freeze&#xff…...

使用docker-compose.yml快速搭建开发、部署环境(nginx、tomcat、mysql、jar包、各种程序)以及多容器通信和统一配置

目录 docker-compose语法&#xff08;更多说明可查看下面代码&#xff09;imagehostnamecontainer_namevolumesnetworks yml文件的使用启动停止 开发环境&#xff08;这里以python为例&#xff09;部署环境nginxmysqltomcatjar包打包后的可执行程序 常见问题与解决方案多个容器…...

管理类联考——逻辑——真题篇——按知识分类——汇总篇——二、论证逻辑——支持加强——第三节——分类3——类比题干支持

文章目录 第三节 支持加强-分类3-类比题干支持真题(2017-28)-支持加强-正面支持-表达“确实如此”真题(2017-36)-支持加强-正面支持-表达“确实如此”真题(2017-39)-支持加强-正面支持-方法有效或方法可行,但多半不选择方法无恶果真题(2017-50)-支持加强真题(2018-2…...

搜索旋转排序数组

整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nums[1], …, …...

Steam搬砖项目:最长久稳定的副业!

项目应该大家都有听说话&#xff0c;但是细节问题&#xff0c;如何操作可能有些不是很清楚&#xff0c;今天在这里简单分享一下。 这个Steam搬砖项目主要赚钱汇率差和价值差&#xff0c;是一个细分领取的小项目。 不用引流&#xff0c;时间也是比较自由的&#xff0c;你可以兼…...

最小化安装移动云大云操作系统--BCLinux-R8-U8-Server-x86_64-230802版

CentOS 结束技术支持&#xff0c;转为RHEL的前置stream版本后&#xff0c;国内开源Linux服务器OS生态转向了开源龙蜥和开源欧拉两大开源社区&#xff0c;对应衍生出了一系列商用Linux服务器系统。BC-Linux V8.8是中国移动基于龙蜥社区Anolis OS 8.8版本深度定制的企业级X86服务…...

神经网络基础-神经网络补充概念-05-导数

概念 导数是微积分中的一个概念&#xff0c;用于描述函数在某一点的变化率。在数学中&#xff0c;函数的导数表示函数值随着自变量的微小变化而产生的变化量&#xff0c;即斜率或变化率。 假设有一个函数 f(x)&#xff0c;其中 x 是自变量&#xff0c;y f(x) 是因变量。函数…...

kubernetes — 安装Ingress

1、 Ingress 1、安装-Nginx-Ingress kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml 2、设为默认的Ingress [rootk8s01 ~]# vim default_ingress.yaml apiVersion: networking.…...

SSR使用HTTPS

1.安装 npm i browser-sync 2. 再angular.json里配置 "serve-ssr": {"builder": "nguniversal/builders:ssr-dev-server","options": {"ssl": true,"sslCert": "./node_modules/browser-sync/certs/server…...

从零开始:CosyVoice 2 声码器入门指南与实战解析

在语音合成的世界里&#xff0c;声码器扮演着“声音雕刻师”的角色。简单来说&#xff0c;它负责将一串抽象的特征&#xff08;比如梅尔频谱&#xff09;转换为我们耳朵能听到的、连续的真实音频波形。没有它&#xff0c;再好的文本转语音模型也只能输出“哑巴”数据。然而&…...

OpenClaw+nanobot学术助手:文献自动归类与摘要生成

OpenClawnanobot学术助手&#xff1a;文献自动归类与摘要生成 1. 为什么需要自动化文献管理工具 作为一名经常需要阅读大量论文的研究者&#xff0c;我长期被文献管理问题困扰。电脑里堆积如山的PDF文件&#xff0c;每次需要查找特定内容时都要花费大量时间翻找。更痛苦的是&…...

ChatGPT公式复制到Word的自动化实践:从手动操作到脚本实现

ChatGPT公式复制到Word的自动化实践&#xff1a;从手动操作到脚本实现 作为一名经常需要整理技术文档的开发者&#xff0c;我过去常常被一个看似简单却异常繁琐的任务困扰&#xff1a;将ChatGPT生成的数学公式或代码片段复制到Microsoft Word中。每次操作都像是一场格式的“灾…...

OpenClaw备份方案:Qwen3.5-9B模型接口故障时的降级策略

OpenClaw备份方案&#xff1a;Qwen3.5-9B模型接口故障时的降级策略 1. 为什么需要备份方案&#xff1f; 上周我正用OpenClaw处理一批重要文件归档任务时&#xff0c;突然遇到Qwen3.5-9B接口响应超时。当时正在半夜&#xff0c;没有备用方案的我只能眼睁睁看着自动化流程中断&…...

从MATLAB算法到MiniCPM-V-2_6模型:科学计算与AI的融合实践

从MATLAB算法到MiniCPM-V-2_6模型&#xff1a;科学计算与AI的融合实践 如果你经常和MATLAB打交道&#xff0c;可能会遇到这样的场景&#xff1a;跑完一个复杂的仿真&#xff0c;生成了几十张图表和一堆数据&#xff0c;然后需要花上半天时间&#xff0c;手动整理结果、撰写分析…...

Python从入门到精通(05章):类与对象结构

Python从入门到精通&#xff08;第05章&#xff09;&#xff1a;条件判断与分支结构 开头导语 这是本系列第05章。本文采用“知识点讲解 错误示例 正确写法 自测清单”的结构&#xff0c;目标是让你不仅能看懂&#xff0c;还能独立写出可运行代码。建议你边看边敲&#xff0…...

快速部署:在星图AI平台训练PETRV2-BEV模型,支持NuScenes数据集

快速部署&#xff1a;在星图AI平台训练PETRV2-BEV模型&#xff0c;支持NuScenes数据集 1. 环境准备与快速部署 1.1 激活Paddle3D环境 首先需要确保已经创建并激活了Paddle3D的conda环境&#xff1a; conda activate paddle3d_env如果尚未创建该环境&#xff0c;建议先安装M…...

Lychee-Rerank与微信小程序结合:打造移动端智能文档搜索工具

Lychee-Rerank与微信小程序结合&#xff1a;打造移动端智能文档搜索工具 你有没有遇到过这种情况&#xff1f;在公司内部的小程序里想查个产品手册或者报销制度&#xff0c;输入关键词后&#xff0c;搜出来的结果要么完全不沾边&#xff0c;要么一大堆文件让你自己翻。明明知道…...

Text Control DS Server 5.0 新增了依赖注入服务,允许插件直接与文档处理功能配合使用

启用插件对文档处理 API 的访问权限2026年3月24日Text Control DS Server 5.0 新增了依赖注入服务&#xff0c;允许插件直接与文档处理功能配合使用。TX Text Control DS Server 是一款服务器端文档处理解决方案&#xff0c;旨在将文档生成、编辑和转换功能集成到现代应用程序中…...

用Python+OpenCV实现双目视觉三维重建:从相机标定到triangulatePoints实战

PythonOpenCV双目视觉三维重建实战&#xff1a;从标定到点云生成 去年在开发一个AR眼镜原型时&#xff0c;我遇到了一个棘手的问题&#xff1a;如何让设备准确感知周围环境的深度。经过反复尝试&#xff0c;最终采用双目视觉方案完美解决了这个问题。本文将分享整个实现过程&am…...