LeetCode每日一题 将有序数组转换为二叉搜索树(分治)

题目描述

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

示例 1:

 
 

输入:nums = [-10,-3,0,5,9]
输出:[0,-3,9,-10,null,5]
解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:

示例 2:

 
 

输入:nums = [1,3]
输出:[3,1]
解释:[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。

提示:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums 按 严格递增 顺序排列

解题思路:

中序遍历,总是选择中间位置左边的数字作为根节点

题解:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        return helper(nums,0,nums.length-1);
    }

    public TreeNode helper(int[] nums,int left,int right)
    {
        if(left>right)
        {
            return null;
        }
        //总是选择中间位置左边的数据作为根节点
        int mid=(left+right)/2;

        TreeNode root=new TreeNode(nums[mid]);
        root.left=helper(nums,left,mid-1);
        root.right=helper(nums,mid+1,right);

        return root;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/459973.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

林木园区改造VR仿真培训课件提高人们的专业素质

森林经营VR模拟体验摆脱了传统森林经营周期长、实践难及耗材大等问题&#xff0c;借助VR虚拟仿真技术为人们提供一种全新的、沉浸式的森林经营体验&#xff0c;让人们更好地了解森林经营的全周期。 提高人们的环保意识 通过亲身参与森林经营的过程&#xff0c;人们可以更直观地…

mysql: 如何开启慢查询日志?

1 确认慢查询日志功能已开启 执行以下sql语句&#xff0c;查看慢查询功能是否开启&#xff1a; show VARIABLES like slow_query_log;如果为ON&#xff0c;表示打开&#xff1b;如果为OFF&#xff0c;表示没有打开&#xff0c;需要开启慢查询功能。 执行以下sql语句&#xff0…

【MATLAB源码-第163期】基于matlab的BPSK+瑞利(rayleigh)信道下有无波束成形误码率对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 在通信系统中&#xff0c;波束成形&#xff08;Beamforming&#xff09;技术是一种广泛使用的信号处理技术&#xff0c;通过调整天线阵列中各个元素的相位和幅度&#xff0c;使得信号在特定方向上增强&#xff0c;在其他方向…

CC连接过程

1、CC线连接过程 DFP和UFP会实时监控CC1和CC2引脚的电压&#xff0c;来评估DFP和UFP是否都已经在位。同时DFP可以根据电压确定自己所能提供的电流的大小 2、连接过程 Source端使用一个MOS管去控制Vbus&#xff0c;初始状态下&#xff0c;FET为关闭状态&#xff0c;Vbus不通。S…

Transformer的前世今生 day01(预训练

预训练 在相似任务中&#xff0c;由于神经网络模型的浅层是通用的&#xff0c;如下图&#xff1a; 所以当我们的数据集不够大&#xff0c;不能产生性能良好的模型时&#xff0c;可以尝试让模型B在用模型A的浅层基础上&#xff0c;深层的部分自己生成参数&#xff0c;减小数据集…

SQL面试学习 行列转换

行列转换 多行转多列 concat_ws&#xff1a;把集合中的值用指定分隔符连接 collect_set&#xff08;&#xff09;&#xff1a;收集唯一值并返回一个集合 SQL字符串拼接函数concat()、collect_set()、collect_list()和concat_ws()用法 cast&#xff08;&#xff09;将任何类型…

微信小程序开发学习笔记《21》uni-app框架-楼层图片跳转

微信小程序开发学习笔记《21》uni-app框架-楼层图片跳转 博主正在学习微信小程序开发&#xff0c;希望记录自己学习过程同时与广大网友共同学习讨论。建议仔细阅读uni-app对应官方文档 一、创建新的分包goods_list 二、将请求到的楼层数据url调整为本地的 可以看到上图是请求…

14 stack和queue的使用

stack的介绍 stack文档 1.stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入和提取操作 2.stack是作为容器适配器被实现的&#xff0c;容器适配器是对特定类封装作为其底层的容器&#xff0c;并提供…

使用 Docker Compose 快速搭建监控网站 uptime-kuma

有时候需要监控自己搭建的一些网站、服务是否正常运行&#xff0c; 这时候可以考虑使用一个监控网站&#xff0c; 定时的进行检测&#xff0c; 记录网站、服务的运行状态&#xff0c; 在这推荐使用 uptime-kuma。 博主博客 https://blog.uso6.comhttps://blog.csdn.net/dxk539…

计算机毕业设计-基于大数据分析的服装定制网的设计与实现

概要 人民的日常生活离不开“衣食住行”&#xff0c;四者之中“食住行”发展迅猛&#xff0c;突飞猛进的发展推动了产业的升级更新。而与之形成鲜明对比的是&#xff0c;服装行业作为传统古老的行业&#xff0c;因为产业结构特征、个性化需求等问题&#xff0c;难以出现推动行业…

支小蜜AI校园防欺凌系统可以使用在宿舍吗?

随着人工智能技术的快速发展&#xff0c;AI校园防欺凌系统已成为维护校园安全的重要手段。然而&#xff0c;关于这一系统是否适用于宿舍环境&#xff0c;仍存在一些争议和讨论。本文将探讨AI校园防欺凌系统在宿舍中的适用性&#xff0c;分析其潜在的优势与挑战&#xff0c;并提…

iptables详细介绍

在 CentOS 中,iptables 是一种用于配置和管理网络防火墙的工具,它提供了一种灵活和强大的方式来控制进出服务器的网络流量。以下是 CentOS 中 iptables 的主要内容: 规则链(Chains): iptables 使用规则链来组织规则,常见的链包括: INPUT:处理进入服务器的数据包。OUTP…

蓝桥杯2022年第十三届省赛真题-裁纸刀

443 对于m行n列 次数 4 m - 1 (n-1)*m 其中4是裁掉边缘&#xff1b;行需要裁m-1次&#xff1b;每个小长条需要裁n-1次&#xff0c;一共有m个小长条

代码学习记录20--回溯算法开始

随想录日记part20 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.15 主要内容&#xff1a;今天开始就要开始学习回溯算法了&#xff0c;今天主要学习其基本理论以及在组合问题中的应用。 理论基础第77题. 组合 Topic1理论基础 1.回溯算法的题目分类&#…

Transformer模型的Pytorch实现

Transformer的Pytorch实现有多个开源版本&#xff0c;基本大同小异&#xff0c;我参考的是这份英译中的工程。 为了代码讲解的直观性&#xff0c;还是先把Transformer的结构贴上来。 针对上述结构&#xff0c;我们从粗到细地来看一下模型的代码实现。 1. 模型整体构造 clas…

湖北省建筑安全员C证考试通过后,如何在各平台快速查询

湖北省建筑安全员C证考试通过后&#xff0c;如何在各平台快速查询&#xff1f; 2024年湖北省建筑安全员C证&#xff08;建安C&#xff09;证书查询 蛮多人考过建筑安全员C证不知道在哪里查询&#xff0c;建筑行业的安全员C证也称之为专职安全员&#xff0c;建筑安全员ABC /三…

Flutter对uniapp是碾压?快算了吧,至少在中国不是。

有些技术流氓&#xff0c;不考虑场景就大放厥词&#xff0c;谁碾压谁&#xff0c;谁替代谁脱口而出。不否认flutter优秀&#xff0c;但这个优秀是有限定条件的&#xff0c;不是说所有场景下它都优秀&#xff0c;如果不分青红皂白的大厂赞歌&#xff0c;和无脑僵尸&#xff0c;让…

人大金仓大小写敏感处理

人大金仓安装的时候&#xff0c;不管是否选择大小写敏感&#xff1b;查询的时候加和不加双引号&#xff0c;查询出来的都是小写 针对人大金仓大小写&#xff0c;我们实际引用全是大写的情况&#xff0c;解决方案如下 添加配置&#xff0c;将查询结果全都转成大写 1、本地打开…

2024年腾讯云轻量应用服务器4核8G12M评测_CPU性能

腾讯云轻量4核8G12M服务器配置446元一年&#xff0c;646元12个月&#xff0c;腾讯云轻量应用服务器具有100%CPU性能&#xff0c;系统盘为180GB SSD盘&#xff0c;12M带宽下载速度1536KB/秒&#xff0c;月流量2000GB&#xff0c;折合每天66.6GB流量&#xff0c;超出月流量包的流…

子查询 封装属性创建Connection连接类 数据库连接池

子查询 在select语句中包含另一个select 语句 -->子查询 子查询的分类 单行单列子查询 在where子句中使用 运算符 ! > < -- 查询工资比公司平均工资高的员工信息 -- 查询与员工’smith‘同职位的员工信息 -- 查询比员工joins入职…