![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode刷题
文章平均质量分 95
Hacynn
沙漠尽头必是绿洲。
展开
-
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
该题如果使用暴力破解法,其代码实现过程是很容易想到的,只需要找到nums1此时的元素在nums2中的位置,并向右查询是否存在更大的值,有则返回该值,无则返回-1即可。结合思想不难想到时间复杂度为O(m*n),m和n分别为两个数组各自的长度。虽然该题直接使用暴力破解法可以直接通过,但是只是出题人没有为难大家,如果该题的数据非常庞大,此时直接使用暴力破解法必然会导致超时。而本文将讲解单调队列的算法模版解决这类问题(next greater number问题),它能够很好的将时间复杂度控制在O(m+n)。原创 2024-02-05 12:18:33 · 1238 阅读 · 13 评论 -
【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)
top-k问题:即求数据集合中前K个最大的元素或者最小的元素,一般情况下数据量都比较大。比如:专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。对于top-k问题,能想到的最简单直接的方式就是排序,但是:如果数据量非常大,排序就不太可取了(可能数据都不能一下子全部加载到内存中)。最佳的方式就是用堆来解决原创 2024-01-23 09:34:00 · 1618 阅读 · 13 评论 -
【LeetCode力扣】42. 接雨水
42. 接雨水 - 力扣(LeetCode)leftMax用于记录当前左指针left经过的最大高度,同理rightMax用于记录当前左指针right经过的最大高度。下标 i 处能否接水以及接到水的数量其实取决于左指针left到 i 时所经过的最大高度leftMax与右指针right到 i 时所经过的最大高度rightMax它们之间的较小值。原创 2023-10-29 17:37:10 · 1834 阅读 · 118 评论 -
【LeetCode力扣】189 53 轮转数组 | 最大子数组和
189. 轮转数组 - 力扣(LeetCode)53. 最大子数组和 - 力扣(LeetCode)我们可以使用额外的数组来将每个元素放至正确的位置。用 len 表示数组的长度,我们遍历原数组,将原数组下标为 i 的元素放至新数组下标为 (i+k) % len 的位置,最后将新数组拷贝至原数组即可。原创 2023-10-28 21:14:51 · 1506 阅读 · 60 评论 -
【LeetCode力扣】234 快慢指针 | 反转链表 | 还原链表
234. 回文链表 - 力扣(LeetCode)判断回文,就是判断是否是对称的。有些朋友对于数组的回文判断非常熟悉,但是对链表的回文判断可能就无从下手了,其实都一样的。有一种非常简单的方式就是将链表转化成数组,然后就是判断该数组是否回文就可以了,这种方式统称暴力破解法,简单粗暴。下面就来先带着大家看一下这道题的暴力破解法。原创 2023-10-22 10:30:00 · 997 阅读 · 109 评论 -
【LeetCode力扣】86. 分隔链表
86. 分隔链表 - 力扣(LeetCode)考虑通过「新建两个链表」实现原链表分割,算法流程为:新建两个链表small和BigEqu,分别用于链接小于标志数 x 的结点和大于等于标志数 x 的结点。遍历链表head并依次比较各节点值 head->val 和 x 的大小,若head->val < x ,则将head指向的该结点添加到链表 small 最后面。若head->val >=x,则将head指向的该结点添加到链表BigEqu最后面。遍历完成后,拼接small和Big原创 2023-10-20 12:53:10 · 1038 阅读 · 126 评论 -
【LeetCode力扣】297. 二叉树的序列化与反序列化
297. 二叉树的序列化与反序列化 - 力扣(LeetCode)二叉树序列化就是将内存中的二叉树变成硬盘中的字符串形式,并且要求每个二叉树能够对应一个唯一的字符串。二叉树反序列化就是将这个唯一字符串在内存中还原回对应的二叉树。原创 2023-10-15 10:00:00 · 1268 阅读 · 100 评论 -
【LeetCode力扣】75 快速排序的子过程partition(荷兰国旗问题)
75. 颜色分类 - 力扣(LeetCode)荷兰国旗问题原创 2023-10-12 17:01:27 · 1173 阅读 · 144 评论 -
【LeetCode力扣】LCR170 使用归并排序的思想解决逆序对问题(详细图解)
LCR 170. 交易逆序对的总数,使用归并排序的思想以O(nlogn)的时间复杂度解决逆序对问题。使用大量画图方式让读者更加任意理解解题思路以及归并排序的精髓。原创 2023-10-06 10:30:00 · 2589 阅读 · 127 评论