LeetCode刷题记录
北部湾海King
这个作者很懒,什么都没留下…
展开
-
leetCode刷题记录 92. 反转链表 II
题目:给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。思路:原创 2021-05-17 23:27:46 · 202 阅读 · 0 评论 -
LeetCode刷题 206. 反转链表
题目:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。原创 2021-05-15 17:15:26 · 323 阅读 · 0 评论 -
LeetCode刷题记录 295. 数据流的中位数
题目:中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。思路:遇到这种求中位数的就可以用最大堆和最小堆来解决。为什么要用最大堆和最小堆呢?因为我们可以利用把数据分成两份,小的那一份放原创 2021-05-14 21:18:55 · 192 阅读 · 0 评论 -
LeetCode刷题记录 215 数组中的第K个最大元素
题目:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5思路:对于寻找最大值的可往最大堆和最小堆思考,笔者是通过最小堆的方式解答。这里先引入最小堆的概念。最小堆,是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于其左子节点和右子节点的值。简而言之就是根结点的键值是所有堆结点键值中最小者。如图所示二叉树的最小值就在跟节点处。我们可以原创 2021-05-12 19:42:32 · 101 阅读 · 0 评论