- 博客(409)
- 收藏
- 关注

原创 CentOS 超详细保姆级安装教程(每步都有截图)
在 VMware 中安装和配置 CentOS 是许多系统管理员和开发者常用的虚拟化方法。首先,需要在计算机上安装 VMware Workstation 或 VMware Player,然后下载最新的 CentOS ISO 文件。启动 VMware,创建一个新的虚拟机,选择“安装程序光盘映像文件(iso)”选项,加载下载的 CentOS ISO 文件。接下来,配置虚拟机的硬件资源,包括分配内存、CPU 核心数量和硬盘空间。建议至少分配 2GB 内存和 20GB 硬盘空间以保证 CentOS 的顺利运行。
2024-09-01 11:22:48
4890

原创 Ubuntu 超详细保姆级安装教程(每步都有截图)
在 VMware 中安装和配置 Ubuntu 是一种常见的虚拟化实践,适用于开发、测试和学习目的。首先,确保已安装 VMware Workstation 或 VMware Player,并下载最新版本的 Ubuntu ISO 文件。启动 VMware,创建一个新的虚拟机,选择"安装程序光盘映像文件(iso)"选项,选择下载的 Ubuntu ISO 文件。然后,配置虚拟机的硬件设置,包括内存、处理器数量和硬盘大小等,建议至少分配 2GB 内存和 20GB 硬盘空间。
2024-09-01 11:17:03
58268
57
原创 [HOT 100] 0216. 组合总和 iii
题目要求找出所有k个不同数字的组合,这些数字的和等于n,且每个数字在1到9之间使用一次。代码使用回溯法,通过剪枝优化效率。返回 所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。
2025-04-01 08:00:00
327
原创 [HOT 100] 0077. 组合
题目要求生成所有可能的k个数的组合,且组合中的元素按升序排列。采用回溯法, 正确的做法应从小到大处理,保证升序。你可以按 任何顺序 返回答案。
2025-04-01 07:00:00
165
原创 [HOT 100] 2698. 求一个整数的惩罚数
其平方的十进制字符串可以分割成若干子串,使得这些子串的数值之和等于。,DFS尝试所有可能分割方式的时间复杂度为。将这些数的平方累加,得到结果。的 惩罚数 定义为所有满足以下条件。题目要求找出所有满足条件的数。,直接返回预计算的前缀和。,其平方的字符串长度为。:深度最大为字符串长度。,符合条件,因此累加。
2025-03-31 08:00:00
312
原创 [HOT 100] 1239. 串联字符串的最大长度
题目要求找出字符串列表中的最长子序列,使得子序列中的每个字符串自身无重复字符且所有字符串连接后也无重复字符。通过回溯法(DFS)遍历所有可能的子序列组合,在递归过程中选择或不选择当前字符串,最后检查拼接后的字符串是否满足条件并更新最大长度。子序列 是一种可以从另一个数组派生而来的数组,通过删除某些元素或不删除元素而不改变其余元素的顺序。提前剪枝:在选择当前字符串时,先判断其自身是否有效且与已选字符无冲突,避免无效递归。的含有 不同字母 的 子序列 字符串 连接 所得的字符串。
2025-03-31 07:00:00
276
原创 [HOT 100] 2397. 被列覆盖的最多行数
都被你选中的列所覆盖,则认为这一行被 覆盖 了。列,使得覆盖的行数最多(覆盖行定义为行中所有。是你选择的列的集合。,如果满足下述条件,则认为这一行被集合。列构成的集合 覆盖 的 最大行数。给你一个下标从 0 开始、大小为。个列,使集合覆盖的行数最大化。中选择的 不同 列的数量。返回一个整数,表示可以由。
2025-03-30 08:00:00
743
原创 [HOT 100] LCP 51. 烹饪料理
的情况下,请返回勇者可获得的最大美味度。如果无法满足饱腹感要求,则返回。欢迎各位勇者来到力扣城,城内设有烹饪锅供勇者制作料理,为自己恢复状态。通过这些食材可以制作若干料理,勇者背包内共有编号为。
2025-03-30 07:00:00
312
原创 [HOT 100 ] 0784. 字母大小写全排列
题目要求生成字符串所有可能的字母大小写排列组合。通过回溯算法(DFS)遍历每个字符,对于字母生成两种分支(小写和大写),数字保持不变。递归过程中记录路径,到达字符串末尾时保存结果。返回 所有可能得到的字符串集合。以 任意顺序 返回输出。中的每个字母转变大小写,我们可以获得一个新的字符串。
2025-03-29 08:00:00
381
原创 [HOT 100 ] 0257. 二叉树的所有路径
257. 二叉树的所有路径 - 力扣(LeetCode)给你一个二叉树的根节点 ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。4. 解题思路题目要求找出二叉树从根节点到所有叶子节点的路径。通过深度优先搜索(DFS)遍历每个节点,记录路径,到达叶子节点时保存路径。回溯时移除当前节点以尝试其他分支。
2025-03-28 08:00:00
395
原创 [HOT 100 ] 0131. 分割回文串
题目要求将字符串分割为所有可能的回文子串组合。原代码试图通过回溯遍历所有分割可能,但终止条件存在逻辑错误,导致部分未完全分割的路径被加入结果。正确的做法是当所有字符被处理完毕(即。分割成一些 子串,使每个子串都是 回文串。到达字符串末尾)时,才记录有效分割。所有可能的分割方案。
2025-03-28 07:00:00
353
原创 [HOT 100 ] 0078. 子集
题目要求生成给定数组的所有可能子集(包括空集)。通过回溯算法,在每一步选择是否包含当前元素,递归生成所有可能的组合。,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
2025-03-27 08:00:00
715
原创 [HOT 100 ] 0017. 电话号码的字母组合
题目要求生成电话号码数字字符串对应的所有字母组合。每个数字对应一组字母(如2对应abc),需生成所有可能的组合。采用回溯算法逐层递归处理每个数字的位置,遍历该位置数字对应的所有字母,生成组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
2025-03-27 07:00:00
487
原创 [HOT 100 ] 2641. 二叉树的堂兄弟节点 ii
题目要求将二叉树中每个节点的子节点值替换为同一层其他父节点的子节点值总和。如果两个节点在树中有相同的深度且它们的父节点不同,那么它们互为 堂兄弟。,请你将每个节点的值替换成该节点的所有 堂兄弟节点值的和。注意,一个节点的深度指的是从树根节点到这个节点经过的边数。请你返回修改值之后,树的根。
2025-03-26 08:00:00
443
原创 [HOT 100 ] 2415. 反转二叉树的奇数层
题目要求反转二叉树的所有奇数层的节点值(根节点为第0层)。通过层序遍历(BFS)逐层处理节点,当遇到奇数层时,将该层的节点值进行反转。完美 二叉树需满足:二叉树的所有父节点都有两个子节点,且所有叶子节点都在同一层。,请你反转这棵树中每个 奇数 层的节点值。节点的 层数 等于该节点到根节点之间的边数。给你一棵 完美 二叉树的根节点。反转后,返回树的根节点。
2025-03-26 07:00:00
398
原创 [HOT 100 ] 0117. 填充每个节点的下一个右侧节点指针 ii
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为。指针连接起来,同一层的节点依次指向右侧节点。可以通过层序遍历(BFS)逐层处理节点,在遍历每一层时,将前一个节点的。指向当前节点,并收集下一层的子节点。最终,所有层的节点都会被正确连接。初始状态下,所有 next 指针都被设置为。题目要求将二叉树的每一层节点用。
2025-03-25 08:00:00
887
原创 [HOT 100 ] 0116. 填充每个节点的下一个右侧节点指针
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为。指针连接起来,同一层的节点依次指向右侧节点。可以通过层序遍历(BFS)逐层处理节点,在遍历每一层时,将前一个节点的。给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。指向当前节点,并收集下一层的子节点。最终,所有层的节点都会被正确连接。初始状态下,所有 next 指针都被设置为。题目要求将二叉树的每一层节点用。
2025-03-25 07:00:00
474
原创 [HOT 100 ] 0107. 二叉树的层序遍历 ii
题目要求二叉树的层序遍历结果从底层向上输出。可以通过常规的广度优先搜索(BFS)逐层遍历,记录每层的节点值,最后将结果列表反转。,返回其节点值 自底向上的层序遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
2025-03-24 08:00:00
464
原创 [HOT 100 ] 0513. 找树左下角的值
题目要求找出二叉树最底层最左边的节点值。通过广度优先搜索(BFS)逐层处理节点,但调整节点入队顺序(先右后左),使得队列中每层节点按从右到左排列。这样,队列中最后处理的节点即为最底层最左边的节点。,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。给定一个二叉树的 根节点。
2025-03-24 07:00:00
678
原创 [HOT 100] 0103. 二叉树的锯齿形层序遍历
该问题要求实现二叉树的锯齿形层序遍历,即先从左到右,下一层从右到左交替遍历。通过广度优先搜索(BFS)逐层处理节点,并根据当前层数的奇偶性决定是否反转当前层的节点值列表。,返回其节点值的 锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
2025-03-23 08:00:00
353
原创 [HOT 100] 0102. 二叉树的层序遍历
这道题要求按层序遍历二叉树的节点值,并以二维列表形式返回结果。,返回其节点值的 层序遍历。(即逐层地,从左到右访问所有节点)。
2025-03-23 07:00:00
395
原创 [HOT 100] 1123. 最深叶节点的最近公共祖先
该问题要求找出二叉树中最深叶节点的最近公共祖先(LCA)。核心思路是通过后序遍历递归计算每个节点的子树深度,并利用全局变量记录最大深度和最终结果。的二叉树,返回它 最深的叶节点的最近公共祖先。
2025-03-22 08:00:00
398
原创 [HOT 100] 0235. 二叉搜索树的最近公共祖先
这道题要求找出二叉搜索树(BST)中两个指定节点的最近公共祖先(LCA)。利用BST的特性,即左子树所有节点值小于根节点,右子树所有节点值大于根节点,可以高效定位LCA。中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。
2025-03-22 07:00:00
406
原创 [HOT 100] 0236. 二叉树的最近公共祖先
中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。该问题要求找到二叉树中两个节点的最近公共祖先(LCA)。采用递归的后序遍历方法,核心思想是自底向上处理每个节点,根据左右子树的结果判断当前节点是否为LCA。
2025-03-21 08:00:00
750
原创 [HOT 100] 1110. 删点成林
该问题要求删除二叉树中指定的节点,返回删除后形成的所有树的根节点列表。核心思路是通过后序遍历处理每个节点,判断是否删除,并处理子树。中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。返回森林中的每棵树。你可以按任意顺序组织答案。,树上每个节点都有一个不同的值。
2025-03-21 07:00:00
664
原创 [HOT 100] 0889. 根据前序和后序遍历构造二叉树
根据前序和后序遍历结果构造二叉树,需利用前序确定根节点,后序辅助分割左右子树。如果存在多个答案,您可以返回其中 任何 一个。是一个具有 无重复 值的二叉树的前序遍历,是同一棵树的后序遍历,重构并返回二叉树。
2025-03-20 08:00:00
695
原创 [HOT 100] 0106. 从中序与后序遍历序列构造二叉树
根据二叉树的中序遍历和后序遍历结果重建二叉树,核心在于利用后序遍历确定根节点,再结合中序遍历分割左右子树。是同一棵树的后序遍历,请你构造并返回这颗 二叉树。是二叉树的中序遍历,
2025-03-20 07:00:00
454
原创 [HOT 100] 0105. 从前序与中序遍历序列构造二叉树
根据二叉树的前序遍历和中序遍历结果重建二叉树,需利用前序遍历确定根节点,中序遍历划分左右子树。是同一棵树的中序遍历,请构造二叉树并返回其根节点。是二叉树的先序遍历,
2025-03-19 08:00:00
563
原创 [HOT 100] 1373. 二叉搜索子树的最大键值和
要找到二叉树中节点值之和最大的二叉搜索子树(BST),可以通过递归遍历每个节点,并自底向上判断以当前节点为根的子树是否为BST。若为BST,则计算其节点和并更新最大值。为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。
2025-03-19 07:00:00
355
原创 [HOT 100] 0230. 二叉搜索树中第 K 小的元素
请你设计一个算法查找其中第。小的元素(从 1 开始计数)。给定一个二叉搜索树的根节点。
2025-03-18 08:00:00
487
原创 [HOT 100] 2476. 二叉搜索树最近节点查询
2476. 二叉搜索树最近节点查询 - 力扣(LeetCode)](https://leetcode.cn/problems/closest-nodes-queries-in-a-binary-search-tree/description/)给你一个 二叉搜索树 的根节点。,和一个由正整数组成、长度为。
2025-03-18 07:00:00
350
原创 [HOT 100] 0938. 二叉搜索树的范围和
通过上述策略,避免了对不必要子树的遍历,优化了时间复杂度。之间的所有结点的值的和。给定二叉搜索树的根结点。
2025-03-17 08:00:00
302
原创 [HOT 100] 0098. 验证二叉搜索树
要验证一棵二叉树是否为有效的二叉搜索树(BST),需满足每个节点的值严格大于左子树所有节点,且严格小于右子树所有节点。通过递归遍历,传递每个节点的值作为其子树的上下界,确保子树的所有值在合法范围内。初始时根节点无上下界限制,递归中动态更新左右子树的边界。,判断其是否是一个有效的二叉搜索树。给你一个二叉树的根节点。
2025-03-17 07:00:00
311
原创 [HOT 100] 1080. 根到叶路径上的不足节点
要删除二叉树中所有不足的节点,使得剩余树的每个根到叶子的路径和至少为。,请你同时删除树中所有 不足节点 ,并返回最终二叉树的根节点。的每种可能的 “根-叶” 路径上值的总和全都小于给定的。,则该节点被称之为 不足节点 ,需要被删除。叶子节点,就是没有子节点的节点。
2025-03-16 08:00:00
350
原创 [HOT 100] 1026. 节点与其祖先之间的最大差值
1026. 节点与其祖先之间的最大差值 - 力扣(LeetCode)给定二叉树的根节点 ,找出存在于 不同 节点 和 之间的最大值 ,其中 ,且 是 的祖先。(如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B 的祖先)4. 解题思路要找到二叉树中所有祖先节点与后代节点之间的最大绝对差值,可以通过深度优先搜索(DFS)遍历每个节点,并维护从根到当前节点的路径上的最小值和最大值。对于每个节点,计算其值与路径最小值和最大值的差值,更新全局最大
2025-03-16 07:00:00
436
原创 [HOT 100] 0617. 合并二叉树
想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。要合并两棵二叉树,当两个节点重叠时,新节点的值为两者之和;若其中一个节点为空,则直接使用另一个节点。采用递归方法,从根节点开始合并,递归处理左右子树,确保每个新节点的左右子树正确合并。注意: 合并过程必须从两个树的根节点开始。返回合并后的二叉树。
2025-03-15 08:00:00
805
原创 [HOT 100] 0226. 翻转二叉树
要翻转二叉树,即交换每个节点的左右子树。通过递归后序遍历,先翻转左右子树,再交换当前节点的左右子树引用,从而自底向上完成整棵树的翻转。,翻转这棵二叉树,并返回其根节点。给你一棵二叉树的根节点。
2025-03-15 07:00:00
341
原创 [HOT 100] 0199. 二叉树的右视图
要获取二叉树的右视图,即每层最右侧的节点,可以通过深度优先搜索(DFS)实现。优先访问右子树,确保每层第一个被访问的节点是该层最右侧的节点。利用递归遍历,当当前深度等于结果列表的长度时,记录该节点值。,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。给定一个二叉树的 根节点。
2025-03-14 08:00:00
381
空空如也
在学习 Spring Boot 期间,常见的问题
2024-08-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人