自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode 109. 有序链表转换二叉搜索树 Java实现 递归详解

这道题目考察了对链表和二叉搜索树的理解以及递归方法的应用。通过找到链表的中点并递归构建左右子树,可以有效地将有序链表转换为高度平衡的二叉搜索树。在实际应用中,类似的转换操作可能会用于数据结构的转换、算法优化等领域。掌握这种操作对于解决更复杂的问题具有重要的基础意义。希望这份文档能够帮助你更好地理解和实现有序链表转换二叉搜索树的问题!如果有任何进一步的问题或需要更多的优化,请随时告知。

2025-04-02 17:44:57 731

原创 LeetCode 86.分割链表 Java实现

这道题目考察了对链表操作的理解和实现能力。通过使用双指针和虚拟节点,我们可以有效地解决这个问题。在实际应用中,类似的链表操作可能会用于数据结构的转换、图像处理等领域。掌握这种操作对于解决更复杂的问题具有重要的基础意义。希望这份文档能够帮助你更好地理解和实现分隔链表的问题!如果有任何进一步的问题或需要更多的优化,请随时告知。

2025-04-02 17:20:15 800

原创 LeetCode61.旋转链表 Java实现

这道题目考察了对链表操作的理解和实现能力。通过模拟旋转的过程,我们可以有效地解决这个问题。在实际应用中,类似的链表操作可能会用于数据结构的转换、图像处理等领域。掌握这种操作对于解决更复杂的问题具有重要的基础意义。希望这份文档能够帮助你更好地理解和实现旋转链表的问题!如果有任何进一步的问题或需要更多的优化,请随时告知。

2025-04-02 16:57:31 412

原创 LeetCode 48 旋转图像 Java实现 两种方法

本题考察了对矩阵操作的理解和实现能力。通过两种不同的方法,我们展示了如何高效地解决矩阵旋转问题。无论是分层旋转法还是数学变换法,都有其独特的优点,开发者可以根据实际需求选择合适的方法。

2025-04-01 11:41:15 825

原创 LeetCode 54. 螺旋矩阵 Java实现

这道题目考察了对矩阵遍历的理解和实现能力。通过模拟螺旋遍历的过程,我们可以有效地解决这个问题。在实际应用中,类似的矩阵操作可能会用于图像处理、数据转换等领域。掌握这种遍历方式对于解决更复杂的问题具有重要的基础意义。

2025-01-01 14:17:09 745

原创 LeetCode 3280. 日期到二进制的转换 Java实现 库函数

这道题目考察了对字符串处理和基本数值转换的理解。通过直接转换的方法,可以高效地解决该问题。在实际开发中,类似的转换也经常用到,例如在数据传输、存储等方面。掌握这些基本技能对于提高开发效率和质量具有重要意义。

2025-01-01 11:58:46 485

原创 LeetCode 73.矩阵置零 O(1)空间复杂度详解,Java实现

本题通过巧妙地利用矩阵的第一行和第一列作为标记,实现了原地算法来置零包含 0 的行和列。这种方法既节省了空间,又保持了时间效率,是一种处理此类问题的经典方法。在实际应用中,当面对类似问题时,可以考虑是否可以牺牲部分数据来达到减少空间复杂度的目的。

2024-12-31 21:27:26 1044

原创 LeetCode 442. 数组中重复的数据 原地哈希详解 Java实现

该方法通过原地哈希的思想,将每个数字放置到其对应的索引位置上,从而找出所有出现两次的整数。这种方法既高效又节省空间,适用于大规模数据。在实际应用中,是一种非常实用的算法技巧。

2024-12-31 17:51:35 265

原创 LeetCode 41. 缺失的第一个正数 原地哈希 Java实现

本题通过两种不同的方法来寻找缺失的第一个正数。方法1使用了一个额外的数组来记录出现过的数字,而方法2则利用了原地哈希的思想,通过交换元素来达到目的。两种方法各有优劣,方法1在空间上占用更多,但实现简单;方法2在空间上更优,但实现上稍微复杂一些。在实际应用中,可以根据题目对时间和空间的要求来选择合适的方法。

2024-12-31 17:36:29 841

原创 LeetCode 238. 除自身以外数组的乘积 Java实现 前缀和+后缀和空间优化

本题通过前缀和后缀乘积的方法有效地解决了计算除自身以外数组乘积的问题,同时提供了空间优化的解法,使得空间复杂度降低到 O(1)。这两种方法都是高效的,适用于大规模数据。

2024-12-31 17:20:31 597 1

原创 LeetCode 189. 旋转数组 Java实现

本题通过数组拷贝和反转两种方法有效地解决了数组旋转的问题,提供了两种时间复杂度为O(n)的解法。

2024-12-31 17:00:44 258

原创 LeetCode 560. 和为 K 的子数组 Java实现

本题通过前缀和与哈希表的结合,有效地解决了查找和为k的子数组数量的问题,提供了一种时间复杂度为O(n)的解法。

2024-12-31 16:18:35 336

原创 LeetCode 3219. 切蛋糕的最小总开销 II Java实现

本题通过贪心算法有效地解决了最小化切割蛋糕总开销的问题。通过排序和贪心选择,我们能够确保每次切割都是最优的,从而得到整体的最优解。

2024-12-31 11:57:57 339

原创 LeetCode 438. 找到字符串中所有字母异位词 Java实现

通过使用双指针,我们可以有效地解决这个问题。在实现过程中,需要注意窗口的扩展和收缩逻辑,以及如何判断当前窗口是否包含p的所有字符。这个问题不仅考察了对字符串操作的理解,还考察了双指针技巧的应用。希望这篇技术博客能够帮助你更好地理解和解决438. 找到字符串中所有字母异位词”这个问题。

2024-12-30 18:21:31 486

原创 LeetCode 572. 另一棵树的子树 Java实现

通过深度优先搜索,我们可以有效地解决这个问题。在实现过程中,需要注意递归的终止条件和边界情况的处理。这个问题不仅考察了对二叉树的理解,还考察了递归算法的设计能力。希望这篇技术博客能够帮助你更好地理解和解决572. 另一棵树的子树”这个问题。

2024-12-30 17:28:34 307

原创 LeetCode 1367. 二叉树中的链表 Java实现

通过深度优先搜索,我们可以有效地解决这个问题。在实现过程中,需要注意递归的终止条件和边界情况的处理。这个问题不仅考察了对二叉树和链表的理解,还考察了递归算法的设计能力。希望这篇技术博客能够帮助你更好地理解和解决“1367. 二叉树中的链表”这个问题。

2024-12-30 16:51:21 942

原创 LeetCode 3159. 查询数字在数组中出现的次数 Java实现

本题的核心在于如何有效地记录和查询特定元素在数组中的出现位置。通过使用列表来记录所有等于x的元素的下标,我们可以轻松地处理查询。这种方法简单直观,且在大多数情况下都能提供不错的性能。

2024-12-29 12:01:58 555

原创 LeetCode 1366. 通过投票对团队排名 Java实现

现在有一个特殊的排名系统,依据参赛团队在投票人心中的次序进行排名,每个投票者都需要按从高到低的顺序对参与排名的所有团队进行排位。代表全体投票者给出的排位情况,请你根据上述排名规则对所有参赛团队进行排名。请你返回能表示按排名系统排序后的所有团队排名的字符串。

2024-12-29 11:53:06 942

原创 高等数学知识点复习

一般是选取一个直角坐标系变量作为自变量,看作参数变量,然后求解另外两个变量为此变量的函数。当然可能出现求解有多个解或者根式,或者解不出的情况,这时可以换一个变量作为自变量求解或者根据变量之间的关系换元求解。(1) 一般式: 即为两个空间曲面的交线为空间曲线。(3) 在直角坐标系的投影。双曲抛物面(马鞍面)双曲抛物面(马鞍面)

2024-08-18 20:47:00 1001

原创 LeetCode 204. 计数质数 线性筛法详解 Java实现

这道题目考察了质数筛选的算法。通过线性筛法可以高效地计算小于n的质数数量,适用于大范围的质数筛选问题。

2024-08-18 11:55:36 1194

原创 LeetCode 160. 相交链表 双指针哈希表详解 Java实现

这道题目考察了链表的相交问题,双指针法通过简单有效的遍历,能够在O(m + n)的时间复杂度内找到相交节点或确认两个链表不相交。

2024-08-16 17:22:13 852

原创 LeetCode 23. 合并K个升序链表 分治递归详解 时间击败100% Java实现

这道题目考察了链表的合并问题,使用分治法可以有效地降低合并的时间复杂度,同时也可以通过最小堆法实现更优的时间复杂度。

2024-08-16 16:53:32 1766

原创 LeetCode 121. 买卖股票的最佳时机 动态规划详解

这道题目主要考察了对动态规划的理解,通过对最低价格的动态更新和利润的实时计算,可以在O(n)的时间复杂度内得到最优解。

2024-08-15 22:43:24 623

原创 LeetCode 21. 合并两个有序链表 链表合并 Java实现

这道题目考察了链表的基本操作,通过迭代和递归两种方法都能有效地合并两个有序链表。迭代法更适合处理链表较长的情况,而递归法则在代码上更加简洁。

2024-08-15 22:06:50 740

原创 LeetCode 215. 数组中的第K个最大元素 快速选择详解 Java实现

快速选择算法在处理找到第k个最大元素的问题时表现出色,时间复杂度为O(n),适合处理较大规模的数组。

2024-08-15 21:48:26 1108

原创 LeetCode 912. 排序数组 计数排序详解 Java实现

计数排序在处理范围已知且范围较小的整数数组时非常高效,能够在线性时间内完成排序。对于数据范围较大的情况,其他排序算法可能更适合。

2024-08-15 21:11:17 685

原创 LeetCode 239. 滑动窗口最大值 单调队列详解 Java

滑动窗口最大值问题通过使用单调队列来维护窗口内的最大值,以O(n)的时间复杂度解决了问题。这种方法不仅简单易行,而且非常高效,是处理类似滑动窗口问题的经典策略。

2024-08-14 19:21:50 922

原创 LeetCode 968. 监控二叉树 动态规划和贪心算法详解 Java

本题通过 DFS 和动态规划,以及贪心策略两种思路,计算了监控二叉树所需的最小摄像头数量。动态规划的解法适合大多数树结构问题,贪心策略则提供了一种更加直接的思路。

2024-08-14 17:26:55 2105

原创 LeetCode 337. 打家劫舍 III DFS + 动态规划 详解

通过 DFS 和动态规划结合,我们能够有效地求解打家劫舍 III 问题。此方法思路清晰,效率较高,适用于大多数场景。

2024-08-14 11:05:36 708

原创 LeetCode 2246. 相邻字符不同的最长路径 递归 + 深度优先搜索 (DFS)详解

通过递归和 DFS 算法,我们可以有效地求解相邻字符不同的最长路径问题。此方法思路清晰,易于实现,且具有较高的效率。

2024-08-14 10:38:45 754

原创 LeetCode 124. 二叉树中的最大路径和 递归 + 深度优先搜索 (DFS)详解

通过递归和 DFS 算法,我们可以有效地求解二叉树中的最大路径和问题。此方法思路清晰,易于实现,且具有较高的效率。

2024-08-14 09:54:52 339

原创 LeetCode 543. 二叉树的直径 动态规划树形DP详解

通过递归和 DFS 算法,我们可以有效地求解二叉树的直径问题。此方法思路清晰,易于实现,且具有较高的效率。

2024-08-14 09:35:49 429

原创 LeetCode 1039. 多边形三角剖分的最低得分 动态规划详解

通过动态规划解决多边形三角剖分问题,可以通过将问题分解为更小的子问题,并通过状态转移方程进行求解。这个过程帮助我们理解了动态规划在解决复杂组合问题中的应用。

2024-08-13 23:18:18 674

原创 LeetCode 516. 最长回文子序列 动态规划详解

最长回文子序列问题通过动态规划方法解决,利用区间dp来表示不同子序列的状态,最终计算出字符串的最长回文子序列长度。通过合理的状态转移方程可以有效求解该问题。

2024-08-13 23:13:32 359

原创 LeetCode 188. 买卖股票的最佳时机 IV 动态规划详解

买卖股票的最佳时机 IV 问题,通过动态规划方法解决,考虑了最多可以进行k笔交易的限制,使得问题更具挑战性。通过合理的状态转移方程可以有效求解该问题。

2024-08-13 22:35:21 754

原创 LeetCode 309. 最佳买卖股票时机含冷冻期 动态规划详解

最佳买卖股票时机含冷冻期问题,通过动态规划方法解决,该方法结合了股票买卖的冷冻期限制,使得问题具有一定的挑战性。通过合理的状态转移方程可以有效求解该问题。

2024-08-13 22:01:49 554

原创 LeetCode 122. 买卖股票的最佳时机 II 动态规划详解

买卖股票的最佳时机 II 问题通过动态规划方法解决,该方法简单易懂,时间复杂度为O(n)。同时,贪心算法也可以用于优化空间复杂度。

2024-08-13 20:54:49 919

原创 LeetCode 300. 最长递增子序列 动态规划 + 贪心 详解

最长递增子序列问题通过动态规划和贪心 + 二分查找两种方法来解决。动态规划法简单直观,但时间复杂度较高,而贪心 + 二分查找法在时间复杂度上具有优势,适用于数据规模较大的情况。

2024-08-12 22:44:27 1238

原创 LeetCode 72. 编辑距离 动态规划详解

通过动态规划的思想,我们能够高效地解决编辑距离问题。通过合理定义dp数组的含义,状态转移方程,以及对初始状态的处理,可以解决类似的字符串转换问题。

2024-08-12 22:08:58 947

原创 LeetCode1143. 最长公共子序列 动态规划详解

通过动态规划的思想,我们能够高效地解决最长公共子序列问题。通过合理定义dp数组的含义,状态转移方程,以及对初始状态的处理,可以解决类似的子序列问题。

2024-08-12 21:49:42 743

空空如也

空空如也

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

TA关注的人

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