困难
文章平均质量分 89
一直学习永不止步
探索未知,学习不止。在变革中前行,与世界同步,酷爱分享,共赴知识之巅。
展开
-
LeetCode题练习与总结:天际线问题--218
本文详细解析了如何求解城市天际线问题,通过扫描线算法和优先队列,实现了高效地构建天际线关键点。文章总结了代码实现过程中的关键知识点,并分析了时间复杂度和空间复杂度。原创 2024-09-06 09:00:00 · 492 阅读 · 0 评论 -
LeetCode题练习与总结:最短回文串--214
本文详细介绍了如何将字符串转换为最短回文串的解题思路和实现方法,涉及字符串操作、算法逻辑及性能分析,帮助读者掌握解决此类问题的有效技巧。原创 2024-09-02 09:00:00 · 1579 阅读 · 0 评论 -
LeetCode题练习与总结:单词搜索Ⅱ--212
本文详细介绍了使用深度优先搜索(DFS)结合前缀树(Trie)解决二维网格单词查找问题的方法,包括Trie树的构建、DFS搜索过程以及代码实现,并总结了涉及的关键知识点和时间、空间复杂度分析。原创 2024-08-31 09:00:00 · 1526 阅读 · 0 评论 -
LeetCode题练习与总结:买卖股票的最佳时机 Ⅳ--188
本文详细解析了股票交易最大利润问题,采用动态规划方法,通过三维数组存储状态,实现交易次数限制下的最大利润计算,同时包含贪心算法的简化处理,为解决此类问题提供了清晰思路。原创 2024-08-07 09:00:00 · 764 阅读 · 0 评论 -
LeetCode题练习与总结:地下城游戏--174
本文详细介绍了如何使用动态规划解决地下城救公主问题,包括解题思路、代码实现、时间复杂度与空间复杂度分析,总结了涉及的重要知识点,为解决类似问题提供了参考。原创 2024-07-26 05:00:00 · 616 阅读 · 0 评论 -
LeetCode题练习与总结:寻找旋转排序数组中的最小值Ⅱ--154
本文介绍了在旋转排序数组中寻找最小值的算法。通过二分查找的变种,我们可以在O(log n)的时间复杂度内找到最小值,同时空间复杂度为O(1)。这是一种高效解决此类问题的方法。原创 2024-07-12 16:00:00 · 652 阅读 · 0 评论 -
LeetCode题练习与总结:直线上最多的点数--149
本文详细介绍了如何使用HashMap和GCD求解最多有多少个点在同一条直线上,时间复杂度为O(n^2 * log(m)),空间复杂度为O(log(m)),希望对大家有所帮助。原创 2024-07-07 11:00:00 · 737 阅读 · 0 评论 -
LeetCode题练习与总结:单词拆分Ⅱ--140
本文详细介绍了如何使用动态规划和回溯法解决字符串分割问题,包括算法思路、具体代码实现、时间复杂度和空间复杂度分析,以及涉及的主要知识点。旨在帮助读者理解和掌握相关算法技巧,提高解决类似问题的能力。原创 2024-06-28 02:00:00 · 664 阅读 · 0 评论 -
LeetCode题练习与总结:分发糖果--135
本文详细解析了“分发糖果”问题的解题思路和代码实现。通过初始化、两次遍历和计算总数等步骤,采用贪心算法思想,实现了最少糖果数目的计算。文章还总结了涉及的知识点,包括数组操作、条件判断、函数定义等,为解决类似问题提供了清晰的指导。原创 2024-06-23 21:00:00 · 943 阅读 · 0 评论 -
LeetCode题练习与总结:分割回文串Ⅱ--132
本文介绍了如何使用动态规划解决字符串分割为回文串的问题,详细阐述了算法的思路、具体代码实现、时间复杂度与空间复杂度分析,以及涉及的主要知识点,为解决类似问题提供了清晰的指导。原创 2024-06-20 18:00:00 · 1452 阅读 · 0 评论 -
LeetCode题练习与总结:单词接龙Ⅱ--126
这篇文章介绍了如何使用双向BFS算法解决单词转换问题,并提供了解题思路和代码实现。原创 2024-06-14 12:00:00 · 902 阅读 · 0 评论 -
LeetCode题练习与总结:二叉树中的最大路径和--124
递归遍历求二叉树最大路径和,记录全局最大值,分析时间复杂度和空间复杂度。原创 2024-06-12 10:00:00 · 1361 阅读 · 0 评论 -
LeetCode题练习与总结:单词接龙--127
本文介绍了如何使用广度优先搜索解决单词转换问题,包括解题思路、代码实现、时间复杂度和空间复杂度分析,以及涉及的知识点总结。原创 2024-06-15 13:00:00 · 765 阅读 · 0 评论 -
LeetCode题练习与总结:买卖股票的最佳时机Ⅲ--123
这篇文章详细介绍了使用动态规划解决股票买卖问题的方法,包括状态定义、边界处理,以及代码实现和时间复杂度分析。原创 2024-06-11 09:00:00 · 833 阅读 · 0 评论 -
LeetCode题练习与总结:不同的子序列--115
本文详细介绍了如何使用动态规划来解决字符串子序列匹配问题,包括解题思路、具体代码实现、时间复杂度和空间复杂度分析,并总结了涉及的知识点,为大家提供了解决类似问题的启发和帮助。原创 2024-06-03 01:00:00 · 881 阅读 · 0 评论 -
LeetCode题练习与总结:扰乱字符串--87
本文详细解析了如何判断两个字符串是否为扰乱字符串的问题。通过递归加记忆化搜索的方法,我们能够有效地解决这一问题。文章中详细介绍了算法的实现,时间复杂度和空间复杂度分析,以及涉及到的各种知识点,包括递归、记忆化搜索、字符串操作等。希望这篇文章能够帮助读者更好地理解并解决类似问题。原创 2024-05-06 21:00:00 · 857 阅读 · 0 评论 -
LeetCode题练习与总结:最大矩形--85
本文详细介绍了在二维矩阵中寻找最大全1矩形的问题。通过构建直方图和利用单调栈算法,有效地计算出最大矩形的面积。文章包含了解题思路、具体代码实现、时间复杂度和空间复杂度分析,以及涉及的Java编程知识点总结。原创 2024-05-04 19:00:00 · 1433 阅读 · 0 评论 -
LeetCode题练习与总结:柱状图中最大的矩形--84
本文详细介绍了如何使用单调栈求解柱状图中最大矩形的问题。通过创建扩展数组并在首尾添加高度为0的柱子,我们能够有效地计算每个柱子的最大面积。整个算法的时间复杂度为O(n),空间复杂度也为O(n),是一种高效解决此类问题的方法。原创 2024-05-03 18:00:00 · 1976 阅读 · 0 评论 -
LeetCode题练习与总结:最小覆盖子串--76
本文详细介绍了如何使用滑动窗口方法求解最小覆盖子串问题,包括解题思路、具体代码实现、时间复杂度和空间复杂度分析,以及涉及到的知识点总结。该方法利用双指针和哈希表,高效地找出字符串s中涵盖字符串t所有字符的最小子串。原创 2024-04-25 10:00:00 · 1233 阅读 · 0 评论 -
LeetCode题练习与总结:文本左右对齐--68
本文详细介绍了如何使用 Java 实现文本左右对齐的算法。首先阐述了题目的背景和要求,然后给出了具体的解题思路和代码实现,接着分析了时间复杂度和空间复杂度,最后总结了涉及到的知识点。整个过程清晰明了,适合想要了解贪心算法在文本处理中应用的同学阅读。原创 2024-04-17 02:00:00 · 1206 阅读 · 0 评论 -
LeetCode题练习与总结:有效数字--65
在本文中,我们探讨了如何判断一个字符串是否为有效数字。通过定义标志位并遍历字符串,我们能够识别出数字、小数点和指数部分。文章详细阐述了算法的实现、时间复杂度和空间复杂度,并总结了关键知识点。原创 2024-04-14 23:00:00 · 813 阅读 · 0 评论 -
LeetCode题练习与总结:排列序列--60
本文详细介绍了如何在Java中实现求解给定集合的第k个排列的问题。通过创建一个列表来存储数字,并利用排列组合的数学原理,我们可以逐步构建出所需的排列。文章还分析了代码的时间复杂度和空间复杂度,并总结了涉及的主要Java编程知识点。原创 2024-04-09 18:00:00 · 770 阅读 · 0 评论 -
LeetCode题练习与总结:N皇后Ⅱ
在本文中,我们探讨了n皇后问题的回溯算法解决方案,分析了其时间复杂度和空间复杂度,并总结了涉及的关键知识点,包括递归、位运算和算法分析。原创 2024-04-01 10:00:00 · 1377 阅读 · 0 评论 -
LeetCode题练习与总结:N皇后
在本文中,我们探讨了 n 皇后问题,提出了一种基于回溯算法的解决方案。我们初始化了一个 n x n 的棋盘,并通过递归回溯方法逐行放置皇后,同时确保它们不会相互攻击。我们详细分析了时间复杂度和空间复杂度,并总结了涉及的主要编程知识点。原创 2024-03-31 09:00:00 · 1233 阅读 · 0 评论 -
LeetCode题练习与总结:接雨水
本文介绍了一种高效的算法来解决计算雨水陷阱问题,通过使用双指针技巧,我们能够在O(n)时间复杂度和O(n)空间复杂度内找到最优解。文章详细阐述了解题思路、代码实现、时间与空间复杂度分析,并总结了关键知识点。原创 2024-03-22 08:00:00 · 1143 阅读 · 0 评论 -
LeetCode题练习与总结:缺失的第一个正数
本文介绍了一种在O(n)时间复杂度和O(1)空间复杂度下,找出未排序整数数组中缺失的最小正整数的算法。通过原地修改数组,利用位掩码技巧标记出现正整数,并找出第一个未标记的正整数位置,从而得到答案。原创 2024-03-21 08:00:00 · 701 阅读 · 0 评论 -
LeetCode题练习与总结:解数独
本文介绍了如何使用回溯算法解决数独问题,详细阐述了算法的解题步骤、时间复杂度和空间复杂度,并提供了相应的Java代码实现。原创 2024-03-17 08:00:00 · 1368 阅读 · 0 评论 -
LeetCode题练习与总结:最长有效括号
在本文中,我们探讨了如何使用栈来解决寻找最长有效括号子串的问题。通过初始化栈并遍历字符串,我们能够在遇到右括号时找到匹配的左括号,并更新最长子串长度。这种方法的时间复杂度为O(n),空间复杂度同样为O(n)。我们详细讨论了栈的操作、条件判断、变量更新以及边界条件处理等关键知识点。原创 2024-03-12 08:00:00 · 722 阅读 · 0 评论 -
LeetCode题练习与总结:串联所有单词的子串
在解决这个字符串串联问题时,我们首先分析了单词长度和字符串 s 的潜在组合。通过哈希表和滑动窗口技术,我们有效地遍历并验证了 s 中的子串。最终,我们返回了所有有效串联子串的起始索引。这个过程不仅展示了字符串处理和数据结构的应用,也体现了对边界条件和异常处理的重视。原创 2024-03-09 08:00:00 · 1331 阅读 · 0 评论 -
LeetCode题练习与总结:K个一组翻转链表
在这篇文章中,我们探讨了如何通过创建虚拟头节点和使用指针操作来反转链表中的每k个节点。我们详细分析了算法的时间复杂度和空间复杂度,并总结了实现过程中的关键知识点。原创 2024-03-18 09:00:00 · 1421 阅读 · 0 评论 -
LeetCode题练习与总结:合并K个升序链表
在这个解决方案中,我采用了优先队列来有效地合并多个升序链表。通过维护一个最小堆,我确保了每次取出的都是当前最小的节点,从而实现了有序合并。这种方法简洁且高效。原创 2024-03-03 08:00:00 · 1522 阅读 · 0 评论 -
LeetCode题练习与总结:正则表达式匹配
在解决正则表达式匹配问题时,我运用了动态规划,通过二维数组 dp 记录匹配状态。初始化时设定了空字符串与模式的匹配规则。在填充 dp 时,我处理了字符匹配、'.' 的通配和 '*' 的零或多匹配。dp[m][n] 确定最终匹配结果。时间复杂度 O(m * n),空间复杂度 O(m * n)。原创 2024-02-19 08:00:00 · 1514 阅读 · 1 评论 -
LeetCode题练习与总结:寻找两个正序数组的中位数
本文介绍了解决“寻找两个有序数组中位数”问题的 Java 实现。首先,通过交换数组确保较短的数组用于二分查找。然后,使用二分查找法确定合并后数组的中位数位置。在计算中位数时,处理数组边界条件,并根据总长度是奇数还是偶数来确定返回值。时间复杂度为 O(log(min(m, n))),空间复杂度为 O(1)。文章还总结了数组交换、二分查找、边界条件处理、数学逻辑、条件判断、数据类型处理和代码优化等关键知识点。原创 2024-02-13 10:16:52 · 1245 阅读 · 1 评论 -
LeetCode题练习与总结:通配符匹配
在本文中,我们探讨了如何实现一个支持通配符 '?' 和 '*' 的字符串匹配算法。通过递归方法,我们详细分析了匹配过程,包括处理 '*' 字符的三种情况,以及字符比较的逻辑。最后,我们讨论了代码的时间复杂度和空间复杂度,以及可能的尾递归优化。原创 2024-03-24 08:00:00 · 1343 阅读 · 0 评论