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

力扣labuladong——一刷day36

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣230. 二叉搜索树中第K小的元素
  • 二、力扣538. 把二叉搜索树转换为累加树
  • 三、力扣1038. 从二叉搜索树到更大和树


前言


首先,BST 的特性大家应该都很熟悉了: 1、对于 BST 的每一个节点 node,左子树节点的值都比 node 的值要小,右子树节点的值都比 node 的值大。 2、对于 BST 的每一个节点 node,它的左侧子树和右侧子树都是 BST。

一、力扣230. 二叉搜索树中第K小的元素

/*** 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 {List<Integer> list = new ArrayList<>();public int kthSmallest(TreeNode root, int k) {fun(root);return list.get(k-1);}public void fun(TreeNode root){if(root == null){return ;}fun(root.left);list.add(root.val);fun(root.right);}
}

不使用额外空间

/*** 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 {int res = 0,count = 0;public int kthSmallest(TreeNode root, int k) {fun(root,k);return res;}public void fun(TreeNode root,int k){if(root == null){return ;}fun(root.left,k);count ++;if(count == k){res = root.val;return ;}fun(root.right,k);}
}

二、力扣538. 把二叉搜索树转换为累加树

/*** 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 {int count = 0;public TreeNode convertBST(TreeNode root) {fun(root);return root;}public void fun(TreeNode root){if(root == null){return ;}fun(root.right);count += root.val;root.val = count;fun(root.left);}
}

三、力扣1038. 从二叉搜索树到更大和树

/*** 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 {int count = 0;public TreeNode bstToGst(TreeNode root) {fun(root);return root;}public void fun(TreeNode root){if(root == null){return;}fun(root.right);count += root.val;root.val = count;fun(root.left);}
}

相关文章:

力扣labuladong——一刷day36

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣230. 二叉搜索树中第K小的元素二、力扣538. 把二叉搜索树转换为累加树三、力扣1038. 从二叉搜索树到更大和树 前言 首先&#xff0c;BST 的特性大家应该…...

解锁编程潜能:探索亚马逊CodeWhisperer,打造编程世界的声音引导者

文章目录 前言一、什么是 Amazon CodeWhisperer&#xff1f;二、如何使用CodeWhisperer&#xff1f;安装CodeWhisperer插件配置CodeWhisperer生成注释和文档 总结 前言 随着CHATGPT的一声巨响&#xff0c;大语言模型已经成为了一个备受瞩目的创新应用。亚马逊云科技作为全球领…...

01_面向对象高级_static

Static static 的中文意思是"静态"&#xff0c;它可以修饰成员变量、成员方法 1. Static 修饰成员变量 static 修饰的成员变量&#xff0c;也称之为"类变量"类变量它是属于类的&#xff0c;与类一起加载&#xff0c;在内存中只有一份&#xff0c;会被类…...

双写绕过 [极客大挑战 2019]BabySQL 1

打开题目 随便输入账号密码 根据报错信息可知这是单引号的字符型注入 那我们试试万能密码 1 or 11 页面报错 1 or 11 页面报错 而且根据报错内容显示是没有我们注入上去的or的 那我们就试试 1 order by 3 # 页面报错&#xff0c;根据报错显示页面过滤掉了or和by 那我们…...

uni.app 使用 mixins 技术统一注入小程序页面分享到好友,分享朋友圈功能

uni.app 使用 mixins 技术统一注入小程序页面分享到好友,分享朋友圈功能 1. 在utils文件夹下创建share.js2. 为所有页面挂载3.单独页面使用 1. 在utils文件夹下创建share.js export default{data(){return {// 默认全局分享内容mixinsShare:{title:首页, //分享标题path:/pag…...

贝叶斯AB测试

AB测试是用来评估变更效果的有效方法&#xff0c;但很多时候会运行大量AB测试&#xff0c;如果能够在测试中复用之前测试的结果&#xff0c;将有效提升AB测试的效率和有效性。原文: Bayesian AB Testing[1] 随机实验&#xff0c;又称AB测试&#xff0c;是行业中评估因果效应的既…...

信息检索与数据挖掘 | 【实验】检索评价指标MAP、MRR、NDCG

文章目录 &#x1f4da;实验内容&#x1f4da;知识梳理&#x1f4da;实验步骤&#x1f407;前情提要&#x1f407;MAP评价指标函数&#x1f407;MRR 评价指标函数&#x1f407;NDCG评价指标函数&#x1f407;调试结果 &#x1f4da;实验内容 实现以下指标评价&#xff0c;并对…...

读书笔记:彼得·德鲁克《认识管理》第24章 管理岗位的设计与内容

一、章节内容概述 管理岗位应该始终基于必要的任务&#xff0c;应该是一份实实在在的工作&#xff0c;为企业的整体目标做出可见的(如果不是可衡量的话)贡献&#xff0c;还应该具有尽可能广泛的权威和范围。管理者应该接受绩效目标而不是上级领导 的指导和控制。在设计管理岗位…...

某60区块链安全之51%攻击实战学习记录

区块链安全 文章目录 区块链安全51%攻击实战实验目的实验环境实验工具实验原理攻击过程 51%攻击实战 实验目的 1.理解并掌握区块链基本概念及区块链原理 2.理解区块链分又问题 3.理解掌握区块链51%算力攻击原理与利用 4.找到题目漏洞进行分析并形成利用 实验环境 1.Ubuntu1…...

为什么原生IP可以降低Google play账号关联风险?企业号解决8.3/10.3账号关联问题?

在Google paly应用上架的过程中&#xff0c;相信大多数开发者都遇到过开发者账号因为关联问题&#xff0c;导致应用包被拒审和封号的情况。 而众所周知&#xff0c;开发者账号注册或登录的IP地址及设备是造成账号关联的重要因素之一。酷鸟云最新上线的原生IP能有效降低账号因I…...

排列组合C(n,m)和A(n,m)理解及代码实现

排列组合C(n,m)和A(n,m)理解及代码实现-CSDN博客...

EasyExcel导入从第几行开始

//获得工作簿 read EasyExcel.read(inputStream, Student.class, listener); //获得工作表 又两种形形式可以通过下标也可以通过名字2003Excel不支持名字 ExcelReaderSheetBuilder sheet read.sheet(); sheet.headRowNumber(2);...

均匀光源积分球的应用领域有哪些

均匀光源积分球的主要作用是收集光线&#xff0c;并将其用作一个散射光源或用于测量。它可以将光线经过积分球内部的均匀分布后射出&#xff0c;因此积分球也可以当作一个光强衰减器。同时&#xff0c;积分球可以实现均匀的朗伯体漫散射光源输出&#xff0c;整个输出口表面的亮…...

【LeetCode】每日一题 2023_11_18 数位和相等数对的最大和(模拟/哈希)

文章目录 刷题前唠嗑题目&#xff1a;数位和相等数对的最大和题目描述代码与解题思路思考解法偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 本月已经过半了&#xff0c;每日一题的全勤近在咫尺~ 题目&#xff1a;数位和相等数对的最大和…...

【喵叔闲扯】--迪米特法则

迪米特法则&#xff0c;也称为最少知识原则&#xff08;Law of Demeter&#xff09;&#xff0c;是面向对象设计中的一个原则&#xff0c;旨在降低对象之间的耦合性&#xff0c;提高系统的可维护性和可扩展性。该原则强调一个类不应该直接与其它不相关的类相互交互&#xff0c;…...

企业视频数字人有哪些应用场景

来做个数字人吧&#xff0c;帮我干点活吧。 国内的一些数字人&#xff1a; 腾讯智影 腾讯智影数字人是一种基于人工智能技术的数字人物形象&#xff0c;具有逼真的外观、语音和行为表现&#xff0c;可以应用于各种场景&#xff0c;如新闻播报、文娱推介、营销、教育等。 幻…...

LoRa模块空中唤醒功能原理和物联网应用

LoRa模块是一种广泛应用于物联网领域的无线通信模块&#xff0c;支持低功耗、远距离和低成本的无线通信。 其空中唤醒功能是一项重要的应用&#xff0c;可以实现设备的自动唤醒&#xff0c;从而在没有人工干预的情况下实现设备的远程监控和控制。 LoRa模块空中唤醒功能的原理…...

spring中的DI

【知识要点】 控制反转&#xff08;IOC&#xff09;将对象的创建权限交给第三方模块完成&#xff0c;第三方模块需要将创建好的对象&#xff0c;以某种合适的方式交给引用对象去使用&#xff0c;这个过程称为依赖注入&#xff08;DI&#xff09;。如&#xff1a;A对象如果需要…...

gpt-4-vision-preview 识图

这些图片都是流行动画角色的插图。 第一张图片中的角色是一块穿着棕色方形裤子、红领带和白色衬衫的海绵&#xff0c;它站立着并露出开心的笑容。该角色在一个蓝色的背景前&#xff0c;显得非常兴奋和活泼。 第二张图片展示的是一只灰色的小老鼠&#xff0c;表情开心&#xf…...

Spring Framework 6.1 正式发布

Spring Framework 6.1.0 现已从 Maven Central 正式发布&#xff01;6.1 一代有几个关键主题&#xff1a; 拥抱 JDK 21 LTS虚拟线程&#xff08;Project Loom&#xff09;JVM 检查点恢复&#xff08;项目 CRaC&#xff09;重新审视资源生命周期管理重新审视数据绑定和验证新的…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...