自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(707)
  • 收藏
  • 关注

原创 LeetCode 701. 二叉搜索树中的插入操作 java题解

【代码】LeetCode 701. 二叉搜索树中的插入操作 java题解。

2025-03-27 20:51:54 89

原创 LeetCode 235. 二叉搜索树的最近公共祖先 java题解

由于二叉搜索树是有序的,所以比题236更简单。

2025-03-27 20:21:37 181

原创 LeetCode 501. 二叉搜索树中的众数 java题解

【代码】LeetCode 501. 二叉搜索树中的众数 java题解。

2025-03-26 20:39:36 257

原创 LeetCode 860. 柠檬水找零 java题解

此时大家就发现 情况一,情况二,都是固定策略,都不用我们来做分析了,而唯一不确定的其实在情况三。因为美元10只能给账单20找零,而美元5可以给账单10和账单20找零,美元5更万能!而情况三逻辑也不复杂甚至感觉纯模拟就可以了,其实情况三这里是有贪心的。情况三:账单是20,优先消耗一个10和一个5,如果不够,再消耗三个5。账单是20的情况,为什么要优先消耗一个10和一个5呢?情况二:账单是10,消耗一个5,增加一个10。情况一:账单是5,直接收下。

2025-03-25 21:18:33 132

原创 LeetCode 530. 二叉搜索树的最小绝对差 java题解

【代码】LeetCode 530. 二叉搜索树的最小绝对差 java题解。

2025-03-25 21:16:55 101

原创 LeetCode 530. 二叉搜索树的最小绝对差 java题解

【代码】LeetCode 530. 二叉搜索树的最小绝对差 java题解。

2025-03-25 20:28:33 110

原创 操作系统IO多路复用select,poll,epoll

文件描述符是一个非负整数,是进程用于标识打开文件或I/O 资源的。在 Linux 系统中,当进程通过系统调用,或时,内核会为其分配一个唯一的文件描述符,进程通过这个文件描述符来对相应的文件或资源进行读写、控制等。

2025-03-19 21:24:00 505

原创 LeetCode 134. 加油站 java题解

,但综合三个加油站的情况,总加油量是足够完成一圈行程的,实际上从第一个加油站出发就可以绕一圈。这表明虽然从第三个加油站出发单独看是无法开到下一个加油站的(因为。总的加油量大于等于总耗油量。大于等于0 就说明总加油量是够的?举个简单的例子,如果有三个加油站,

2025-03-19 21:08:28 265

原创 LeetCode 452. 用最少数量的箭引爆气球 java题解

【代码】LeetCode 452. 用最少数量的箭引爆气球 java题解。

2025-03-18 17:28:48 411

原创 LeetCode 392. 判断子序列 java题解

这道题应该算是编辑距离的入门题目,因为从题意中我们也可以发现,只需要计算删除的情况,不用考虑增加和替换的情况。本题 如果删元素一定是字符串t,而 1143.最长公共子序列 是两个字符串都可以删元素。转化为最长公共子序列问题。求[lens][j]的公共子序列长度是否为lens。t中找到了一个字符在s中也出现了。相当于t要删除元素,继续匹配。

2025-03-18 16:57:30 167

原创 LeetCode 1005. K 次取反后最大化的数组和 java题解

看着简单但是写si人的一题。

2025-03-17 20:08:46 424

原创 LeetCode 617. 合并二叉树 java题解

【代码】LeetCode 617. 合并二叉树 java题解。

2025-03-17 19:10:22 84

原创 LeetCode 491. 非递减子序列 java题解

【代码】LeetCode 491. 非递减子序列 java题解。

2025-03-17 18:57:37 242

原创 LeetCode 654. 最大二叉树 java题解

【代码】LeetCode 654. 最大二叉树 java题解。

2025-03-16 13:00:24 117

原创 LeetCode 90. 子集 II java题解

【代码】LeetCode 90. 子集 II java题解。

2025-03-16 12:53:10 97

原创 LeetCode 112. 路径总和 II java题解

【代码】LeetCode 122. 买卖股票的最佳时机 II java题解。

2025-03-12 17:19:22 249

原创 LeetCode 513. 找树左下角的值 java题解

【代码】LeetCode 513. 找树左下角的值 java题解。

2025-03-11 16:28:00 169

原创 LeetCode 376. 摆动序列 java题解

只要不满足摆动条件,就不更新count和prediff从摆动子序列的定义角度:摆动子序列要求序列中的元素按照一定的规律交替出现上升和下降。当序列中只有一个元素时,它可以被看作是一个特殊的摆动子序列,虽然不存在真正意义上的上升或下降交替,但它本身可以作为摆动子序列的起始点或基础,具有唯一性和确定性,符合摆动子序列的最小单元概念,所以定义其摆动数为 1。

2025-03-10 16:35:06 300

原创 LeetCode 404. 左叶子之和 java题解

【代码】LeetCode 404. 左叶子之和 java题解。

2025-03-10 16:13:21 248

原创 LeetCode 968. 监控二叉树 java题解

如果左右子节点中有一个状态为 2(安装了摄像头),那么当前节点状态为 1(被监控但无摄像头),因为有子节点的摄像头可以监控到当前节点。如果左右子节点都状态为 1(被监控但无摄像头),那么当前节点状态为 0(未被监控),因为子节点没有摄像头,无法监控到当前节点。如果左右子节点中有一个状态为 0(未被监控),那么当前节点必须安装摄像头(状态 2),因为要保证所有节点都被监控。在遍历完所有节点后,如果根节点的状态为 0(未被监控),则需要在根节点安装一个摄像头。状态 1:该节点被监控,但没有安装摄像头。

2025-03-10 15:02:05 128

原创 LeetCode 738. 单调递增的数字 java题解

【代码】LeetCode 738. 单调递增的数字 java题解。

2025-03-09 14:50:07 158

原创 LeetCode 108. 将有序数组转换为二叉搜索树 java题解

【代码】LeetCode 108. 将有序数组转换为二叉搜索树 java题解。

2025-03-09 14:27:48 108

原创 LeetCode 257. 二叉树的所有路径 java题解

【代码】LeetCode 257. 二叉树的所有路径 java题解。

2025-03-08 16:02:33 226

原创 LeetCode 669. 修剪二叉搜索树 java题解

我代码:没利用到树的性质,遍历了每一个节点。还有一种迭代法,没有写出来。参考代码:我进行了注释。

2025-03-06 14:00:47 194

原创 LeetCode 763. 划分字母区间 java题解

【代码】LeetCode 763. 划分字母区间 java题解。

2025-03-06 09:39:47 213

原创 LeetCode 450. 删除二叉搜索树中的节点 java题解

此时,我们找到该节点右子树中的最左节点(该节点是右子树中值最小的节点,且大于该节点左子树中所有节点的值),将删除节点的左子树连接到这个最左节点的左子树上(因为最左节点的值大于左子树所有节点的值,符合 BST 特性),然后用删除节点的右子节点来替代删除节点的位置。第五种情况:左右孩子节点都不为空,则将删除节点的左子树头结点(左孩子)放到删除节点的右子树的最左面节点的左孩子上,返回删除节点右孩子为新的根节点。第四种情况:删除节点的右孩子为空,左孩子不为空,删除节点,左孩子补位,返回左孩子为根节点。

2025-03-05 21:08:05 516

原创 LeetCode 216. 组合总和 III java题解

【代码】LeetCode 216. 组合总和 III java题解。

2025-03-03 21:07:59 70

原创 LeetCode 225. 用队列实现栈 java题解

【代码】LeetCode 225. 用队列实现栈 java题解。

2025-03-03 13:06:56 166

原创 LeetCode 202. 快乐数 java题解

【代码】LeetCode 202. 快乐数 java题解。

2025-03-02 13:33:37 265

原创 LeetCode 349. 两个数组的交集 java题解

使用哈希集合来解决。先将一个数组的元素存入哈希集合,然后遍历另一个数组,检查元素是否在哈希集合中,如果存在则将其加入结果集合,最后将结果集合转换为数组返回。

2025-02-28 19:51:35 209

原创 LeetCode 111. 二叉树的最小深度 java题解

/因为叶子结点需要左右孩子都为空,当前节点有右孩子,不符合叶子结点。//同理,当一个右子树为空,左不为空,这时并不是最低点。// 当一个左子树为空,右不为空,这时并不是最低点。注意,跟二叉树的最大深度求解完全不同。//节点左右都不为空,节点左右都为空。

2025-02-27 17:41:44 180

原创 LeetCode 209. 长度最小的子数组

滑动窗口,初始时left和right都指向第一个位置。如果和小,那么right右移。如果和大于等于,满足条件形成了子数组,left右移,缩小左边界,寻找新的结果。

2025-02-27 12:59:55 99

原创 LeetCode 977. 有序数组的平方 java题解

【代码】LeetCode 977. 有序数组的平方 java题解。

2025-02-25 18:58:27 111

原创 LeetCode 122. 买卖股票的最佳时机 II java题解

注释掉了dp数组,因为在某个用例时会超出内存。

2025-01-06 16:33:31 242

原创 LeetCode 583. 两个字符串的删除操作 java题解

dp数组中存储需要删除的字符个数。如果当前字符相同,不用删了,删除个数用上一个状态的。如果当前字符不同,要考虑3种情况:删第一个字符串的,删第二个字符串的,两个都删。用最长公共子序列的做法。先求出他两的最长公共子序列,这部分是要保留的。字符串中除了这部分的字符,其他字符都需要删除。你知道的,我只会做最长公共子序列。所以想到了这种歹毒的方法。下面是别人题解的方法。

2024-12-22 11:32:01 280

原创 LeetCode 718. 最长重复子数组 java题解

如果定义 dp[i][j]为 以下标i为结尾的A,和以下标j 为结尾的B,那么 第一行和第一列毕竟要进行初始化,如果nums1[i] 与 nums2[0] 相同的话,对应的 dp[i][0]就要初始为1, 因为此时最长重复子数组为1。nums2[j] 与 nums1[0]相同的话,同理。我就定义dp[i][j]为 以下标i为结尾的A,和以下标j 为结尾的B,最长重复子数组长度。dp数组为什么定义:以下标i - 1为结尾的A,和以下标j - 1为结尾的B,最长重复子数组长度为dp[i][j]。

2024-12-13 13:06:25 308

原创 JUC:线程池

内部实现:它也是通过ThreadPoolExecutor实现的,将核心线程数设置为 0,最大线程数设置为Integer.MAX_VALUE,使用SynchronousQueue作为任务队列,使得任务不会被存储,而是直接由空闲线程或者新创建的线程来执行。这些队列的不同特性会影响线程池的行为,并且与线程池的调整策略相互配合。如果当前运行的线程数小于corePoolSize,线程池会创建一个新的线程来执行这个任务,即使有空闲线程能够执行新来的任务,也会继续创建,直到线程数达到corePoolSize。

2024-12-04 19:42:39 641

原创 JUC中的集合BlockingQueue的不同实现

BlockingQueue 是 Java 多线程的一个接口,它主要用于生产者 - 消费者模式。它是线程安全的,阻塞的,有界的。当队列满或者空的时候,插入或者提取操作会被阻塞。

2024-12-01 15:55:42 314

原创 Spring AOP相关知识详解

AOP知识大全(不全)

2024-11-28 15:19:24 1048 1

原创 动态规划01背包理论:为什么一维数组时要倒序遍历

你的背包,背到今年还没烂

2024-11-28 12:04:57 1048

jsp+mysql实现手机销售信息管理系统的源码,JavaWeb数据库课程作业

我有一篇博客是关于这个系统的(jsp+mysql实现手机销售信息管理系统),鉴于大家对源码的需求,所以去翻了以前的电脑以前的作业,打包上传。

2024-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除