- 博客(139)
- 问答 (1)
- 收藏
- 关注
原创 把二叉搜索树转化为累加树
本文参考给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和思路:如图可以看出,累加顺序是右中左,因此需要逆中序遍历二叉搜索树。
2025-04-01 18:36:13
284
原创 将有序数组转化为二叉树
本文参考将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。思路:寻找分割点,分割点作为当前节点,然后递归左区间和右区间。
2025-04-01 17:21:34
120
原创 修剪二叉搜索树
本文参考给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。
2025-03-31 21:46:49
289
原创 删除二叉搜索树中的节点
本文参考给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。
2025-03-16 18:15:32
167
原创 二叉搜索树中的插入操作
本文参考给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。你可以返回任意有效的结果。
2025-03-15 18:56:05
176
原创 二叉搜索树最近公共祖先
本文参考因为是有序树,所以 如果 中间节点是 q 和 p 的公共祖先,那么 中节点的数组 一定是在 [p, q]区间的。即 中节点 > p && 中节点 < q 或者 中节点 > q && 中节点 < p当我们从上向下去递归遍历,第一次遇到 cur节点是数值在[q, p]区间中,那么cur就是 q和p的最近公共祖先。
2025-03-15 15:57:50
207
原创 nltk下载报错[nltk_data] Error loading reuters: <urlopen error [Errno 11004] [nltk_data] getaddrinfo
【代码】nltk下载报错[nltk_data] Error loading reuters: <urlopen error [Errno 11004] [nltk_data] getaddrinfo。
2025-03-13 18:03:10
139
原创 二叉树最近公共祖先
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。思路:采用后序遍历对二叉树进行回溯。
2025-03-06 20:03:52
133
原创 二叉搜索树中的搜索
本文参考给定二叉搜索树(BST)的根节点和一个值。你需要在BST中找到节点值等于给定值的节点。返回以该节点为根的子树。如果节点不存在,则返回 NULL。
2025-02-27 19:43:05
120
原创 合并二叉树
本文参考给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。
2025-02-27 19:27:25
154
转载 从中序遍历与后序遍历构造二叉树
以后序数组的最后一个元素为切割点,先切中序数组,根据中序数组再切歌后序数组。上述代码由于每层都定义新的数组,性能较差,因此可以改用下标索引。
2025-02-13 14:29:25
16
原创 Swagger入门
ApiOperation:使用value属性进行详情描述。ApiModel:用description描述模型。Api:使用tags属性描述接口类。
2025-02-08 11:59:30
201
原创 Sprintboot原理
优先级:命令行参数>java系统属性>application.properties>application.yml>application.yaml。
2025-01-27 14:23:54
231
原创 Java后端之AOP
AOP:面向切面编程,本质是面向特定方法编程示例:记录方法运行耗时:可以被AOP控制的方法(暗含方法执行时的信息):共性的功能,最终被提取为一个方法:匹配连接点的条件,通知仅会在切入点方法执行时被调用。通常用切入点表达式来描述:通知+切入点:通知所应用的对象。
2025-01-26 17:40:38
673
原创 java后端之事务管理
Transactional注解:作用于业务层的方法、类、接口上,将当前方法交给spring进行事务管理,执行前开启事务,成功执行则提交事务,执行异常回滚事务。默认情况下,只有出现RuntimeException才会回滚异常。需要加上rollbackFor属性,指定出现何种异常时回滚。:规定当一个事务方法被另一个事务方法调用时,这个事务该如何进行控制。通过propagation属性指定。
2025-01-25 16:08:50
489
原创 java后端之登录认证
拦截路径:addPathPatterns()定义需要拦截哪些资源,excludePathPatterns()定义不需要拦截哪些资源。服务器端存储Cookie,响应时自动加上Cookie到客户端,客户端下次请求会自动加上cookie。Interceptor:作用类似于Filter,拦截请求,在指定方法调用前后执行预先设定的代码。在用户未登录情况下访问需要登录才能使用的业务,会跳转到登录界面。令牌中存储用户的身份信息以及需要共享的数据,存储在客户端。可以拦截对资源的请求,通常用于登录校验、统一编码等。
2025-01-25 11:53:55
1118
1
原创 java开发之文件上传
前端:必须设置表单的内容格式为multipart/form-data,必须有file表单项,method必须为POST。服务器端:用MultipartFile格式接受文件。
2025-01-22 19:32:34
229
原创 MyBatis入门
jdbc:java语言操作关系型数据库的API注册驱动:Class.forName("com.mysql.cj.jdbc.Driver)获取连接对象:Connection connection = DriverManager.getConnection(url, username, password);获取statement:Statement statement = connection.createStatement();
2025-01-22 13:34:53
888
原创 mysql查缺补漏
commit提交事务;用在SELECT语句,SELECTIF(条件表达式,TRUE取值,FALSE取值)showcreatetabletable_name:查询建表语句。comment:备注信息,用于在创建字段后或创建表的语句最后.autoincrement:自增序列,在字段后作为约束使用。createindex索引名on表名(字段名);索引:帮助数据库高效查询的数据结构。desctable_name:查询表结构。dropindex索引名on表名。事务:操作的集合,不可分割。
2025-01-19 15:51:36
165
空空如也
做冒泡排序,请问为什么它不进行重排?
2020-10-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人