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

算法-二叉树篇26-将有序数组转换为二叉搜索树

将有序数组转换为二叉搜索树

力扣题目链接

题目描述

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。

解题思路

很简单的遇到递归题目,对数组取半,然后构建中间节点作为该数组对应的树,然后左右两边切割数组递归下去。

题解

class Solution {
public:TreeNode* sortedArrayToBST(vector<int>& nums) {if(nums.size() == 0){return nullptr;}if(nums.size() == 1){TreeNode* temp = new TreeNode(nums[0]);return temp;}int n = nums.size() / 2;vector<int> arr1(nums.begin(), nums.begin() + n);vector<int> arr2(nums.begin() + n + 1, nums.end());TreeNode* temp = new TreeNode(nums[n]);temp->left = sortedArrayToBST(arr1);temp->right = sortedArrayToBST(arr2);return temp;}
};

相关文章:

算法-二叉树篇26-将有序数组转换为二叉搜索树

将有序数组转换为二叉搜索树 力扣题目链接 题目描述 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 解题思路 很简单的遇到递归题目&#xff0c;对数组取半&#xff0c;然后构建中间节点作为该数组对应的…...

使用Python SciPy库来计算矩阵的RCS特征值并生成极坐标图

在Python中&#xff0c;计算矩阵的RCS&#xff08;Rayleigh商迭代法&#xff09;特征值通常涉及使用数值线性代数库&#xff0c;如NumPy或SciPy。RCS&#xff08;Rayleigh商迭代法&#xff09;是一种用于计算矩阵特征值和特征向量的迭代方法。 以下是一个简单的示例&#xff0…...

车载以太网-基于linux的ICMP协议

对于车载以太网-ICMP的技术要求: /** ICMP报文格式解析* -----------------* ICMP协议用于网络诊断和错误报告,常见应用包括Ping测试。* ICMP报文结构包括:IP头部、ICMP头部和ICMP数据部分。* 下面详细介绍每个部分的结构、字段的作用以及如何解析它们。* * ICMP头部结构:*…...

WP 高级摘要插件:助力 WordPress 文章摘要精准自定义显示

wordpress插件介绍 “WP高级摘要插件”功能丰富&#xff0c;它允许用户在WordPress后台自定义文章摘要。 可设置摘要长度&#xff0c;灵活调整展示字数&#xff1b;设定摘要最后的显示字符&#xff0c; 如常用的省略号等以提示内容未完整展示&#xff1b;指定允许在摘要中显示…...

【嵌入式】MCU开发基础知识速通

一、MCU开发常用编程语言及语法要求 MCU&#xff08;微控制器单元&#xff09;开发常用的编程语言包括C语言、C、汇编语言和Python&#xff0c;每种语言都有其适用场景和优势。 C语言&#xff1a;C语言因其接近硬件特性和高效执行效率而广泛应用于MCU开发。它具有丰富的内置函…...

Yocto + 树莓派摄像头驱动完整指南

—— 从驱动配置、Yocto 构建&#xff0c;到 OpenCV 实战 在树莓派上运行摄像头&#xff0c;在官方的 Raspberry Pi OS 可能很简单&#xff0c;但在 Yocto 项目中&#xff0c;需要手动配置驱动、设备树、软件依赖 才能确保摄像头正常工作。本篇文章从 BSP 驱动配置、Yocto 关键…...

swift 开发效率提升工具

安装github copliot for xcode github/CopilotForXcode brew install --cask github-copilot-for-xcode安装swiftformat for xcode brew install swiftformatXcode Swift File代码格式化-SwiftFormat...

基于 Flink CDC YAML 的 MySQL 到 Kafka 流式数据集成

本教程的演示都将在 Flink CDC CLI 中进行&#xff0c;无需一行 Java/Scala 代码&#xff0c;也无需安装 IDE。 这篇教程将展示如何基于 Flink CDC YAML 快速构建 MySQL 到 Kafka 的 Streaming ELT 作业&#xff0c;包含整库同步、表结构变更同步演示和关键参数介绍。 准备阶段…...

Hue UI展示中文

个人博客地址&#xff1a;Hue UI展示中文 | 一张假钞的真实世界 如果使用开发分支代码如master分支&#xff09;编译安装&#xff0c;需要自己编译语言文件。例如Hue安装目录为“/opt/hue”&#xff0c;则安装后执行以下命令&#xff1a; $ cd /opt/hue $ make locales 如果…...

(十 一)趣学设计模式 之 组合模式!

目录 一、 啥是组合模式&#xff1f;二、 为什么要用组合模式&#xff1f;三、 组合模式的实现方式四、 组合模式的优缺点五、 组合模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;可以多多支…...

安全模块设计:token服务、校验注解(开启token校验、开启签名校验、允许处理API日志)、获取当前用户信息的辅助类

文章目录 引言pom.xmlI 校验注解ApiValidationII token服务TokenService获取当前用户信息的辅助类III 域登录接口响应数据登陆用户信息引言 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/PO…...

Python学习第十八天之深度学习之Tensorboard

Tensorboard 1.TensorBoard详解2.安装3.使用4.图像数据格式的一些理解 后续会陆续在词博客上更新Tensorboard相关知识 1.TensorBoard详解 TensorBoard是一个可视化的模块&#xff0c;该模块功能强大&#xff0c;可用于深度学习网络模型训练查看模型结构和训练效果&#xff08;…...

Redis安装及其AnotherRedisDesktopManagera安装使用

一、Redis安装 1. 下载Redis安装包 通过网盘分享的文件&#xff1a;Redis 链接: https://pan.baidu.com/s/1elAT8mk3EIoYQQ3WoVVoNg?pwd7yrz 提取码: 7yrz 2. 解压Redis安装包 下载完成后&#xff0c;将Redis安装包解压到一个指定的目录&#xff0c;例如&#xff1a;C:\Re…...

C# dll文件的反编译获取源码

目录 前言操作流程结论 前言 上一篇文章介绍了将C# cs类文件加密为dll文件&#xff0c;在此给大家写一篇关于反编译dll文件的文章。 操作流程 首先&#xff0c;我们需要准备一个C#反编译工具&#xff0c;我这里用的是免费的软件JetBrains dotPeek&#xff0c;类似的有很多&am…...

大语言模型学习--LangChain

LangChain基本概念 ReAct学习资料 https://zhuanlan.zhihu.com/p/660951271 LangChain官网地址 Introduction | &#x1f99c;️&#x1f517; LangChain LangChain是一个基于语言模型开发应用程序的框架。它可以实现以下应用程序&#xff1a; 数据感知&#xff1a;将语言模型…...

Spark内存迭代计算

一、宽窄依赖 窄依赖&#xff1a;父RDD的一个分区数据全部发往子RDD的一个分区 宽依赖&#xff1a;父RDD的一个分区数据发往子RDD的多个分区&#xff0c;也称为shuffle 二、Spark是如何进行内存计算的&#xff1f;DAG的作用&#xff1f;Stage阶段划分的作用&#xff1f; &a…...

Python之参数星号(*)使用笔记

背景 在学习python时发现方法调用和方法定义会经常发现有带星号的标记&#xff0c;为了弄明白是怎么使用的。特此做个笔记。 一、参数符号对比速查表 符号类使用场景作用描述示例无符号函数定义/调用普通位置参数或关键字参数.def func(a, b)*函数定义收集多余位置参数为元组…...

一文掌握 Scrapy 框架的详细使用,包括实战案例

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. Scrapy 简介2. Scrapy 的核心组件3. 安装 Scrapy4. 创建 Scrapy 项目4.1 创建项目4.2 创建 Spider5. 编写 Spider5.1 定义 Item5.2 编写 Spider 逻辑6. 运行 Scrapy 爬虫6.1 运行爬虫6.2 保存爬取数据7. Scrapy 的高…...

【Mac】git使用再学习

目录 前言 如何使用github建立自己的代码库 第一步&#xff1a;建立本地git与远程github的联系 生成密钥 将密钥加入github 第二步&#xff1a;创建github仓库并clone到本地 第三步&#xff1a;上传文件 常见的git命令 git commit git branch git merge/git rebase …...

【MySQL篇】数据库基础

目录 1&#xff0c;什么是数据库&#xff1f; 2&#xff0c;主流数据库 3&#xff0c;MySQL介绍 1&#xff0c;MySQL架构 2&#xff0c;SQL分类 3&#xff0c;MySQL存储引擎 1&#xff0c;什么是数据库&#xff1f; 数据库&#xff08;Database&#xff0c;简称DB&#xf…...

OpenClaw+Qwen3-14b_int4_awq:自动化内容处理与发布流水线

OpenClawQwen3-14b_int4_awq&#xff1a;自动化内容处理与发布流水线 1. 为什么需要自动化内容流水线 作为一个长期与文字打交道的创作者&#xff0c;我每天要处理大量重复性工作&#xff1a;从各个渠道收集素材、整理成结构化内容、撰写初稿、调整格式、最后发布到不同平台。…...

AI合规 I 算法备案、大模型备案和登记的区别,双备案又是什么?

开头附上完整阅读链接&#xff1a;AI合规 I 算法备案、大模型备案和登记的区别&#xff0c;双备案又是什么&#xff1f;https://mp.weixin.qq.com/s/QjjnWhbeDvPGduz31O49dQ 公司马上要上线一个新的AI产品&#xff0c;但是突然发现&#xff1a;"我好像需要做备案&#xf…...

OpenClaw+千问3.5-9B智能家居:自然语言控制HomeAssistant

OpenClaw千问3.5-9B智能家居&#xff1a;自然语言控制HomeAssistant 1. 为什么需要自然语言控制智能家居&#xff1f; 去年装修新房时&#xff0c;我安装了HomeAssistant系统来控制全屋灯光、空调和窗帘。虽然手机App能实现远程控制&#xff0c;但每次都要打开应用、找到对应…...

vue3 diff算法中的-双端 Diff + 最长递增子序列 讲解

一句话总结 Vue3 Diff 双端比较&#xff08;快速复用&#xff09; 最长递增子序列&#xff08;最小移动 DOM&#xff09; 目的&#xff1a;在乱序节点中&#xff0c;只移动最少 DOM&#xff0c;实现最高效更新。1. 先搞懂&#xff1a;Vue3 对比 Vue2 差在哪&#xff1f; Vue2…...

掌握Pwndbg调试器:从入门到精通的界面定制与配置指南

掌握Pwndbg调试器&#xff1a;从入门到精通的界面定制与配置指南 【免费下载链接】pwndbg Exploit Development and Reverse Engineering with GDB & LLDB Made Easy 项目地址: https://gitcode.com/GitHub_Trending/pw/pwndbg Pwndbg作为GDB和LLDB的增强扩展&#…...

告别原生IDE!用HBuilderX 3.6.8+和UTS插件5分钟搞定安卓Toast功能

5分钟解锁安卓Toast&#xff1a;HBuilderXUTS插件的高效开发实战 还在为Android Studio的臃肿和配置繁琐头疼&#xff1f;UniApp开发者现在有了更优雅的选择。想象一下&#xff1a;用熟悉的TypeScript语法直接调用原生API&#xff0c;无需切换开发环境&#xff0c;5分钟实现安卓…...

2.2.2.3 Spark实战:词频统计

本次实战涵盖了Spark词频统计&#xff08;WordCount&#xff09;的两种主流实现方式。首先&#xff0c;利用Scala在spark-shell中完成从读取文件、flatMap分词、map映射到reduceByKey聚合的完整流程&#xff0c;并实现结果的降序排序。其次&#xff0c;针对Spark 3.3.2版本的需…...

钢链数智,赋能实业——千匠网络钢铁产业电商系统,破解行业困局,激活钢铁增长新动能

钢铁行业作为国民经济的支柱产业&#xff0c;贯穿基建、制造、房地产、机械装备等核心领域&#xff0c;正处于从“规模扩张”向“质量提升”转型的关键阶段&#xff1a;从铁矿开采、冶炼轧制、钢材加工&#xff0c;到多级分销、终端采购、工程交付&#xff0c;全链路环节繁杂、…...

FastAPI + SQLite:从基础CRUD到安全并发的实战指南

核心摘要本文将带你超越FastAPI SQLite的基础CRUD搭建&#xff0c;聚焦于安全防护&#xff08;认证、授权、输入验证&#xff09;与并发处理&#xff08;数据库连接池、异步优化&#xff09;两大实战痛点。你会获得一套可直接复用的项目骨架&#xff0c;并理解其背后的设计逻辑…...

基于S7-200 PLC和MCGS组态的灌装贴标生产线系统:带解释的梯形图程序、接线图原理图图...

基于S7-200 PLC和MCGS组态的灌装贴标生产线系统 带解释的梯形图接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面车间里那台老灌装线最近被我折腾得焕然一新&#xff0c;用S7-200 PLC搭配MCGS组态搞了个自动化改造。这活儿干下来发现几个关键点特别有意思&#xff0c;尤…...