
堆
文章平均质量分 54
堆
可惜我是水瓶座__
这个作者很懒,什么都没留下…
展开
-
【LeetCode】数据流的中位数
double findMedian() 返回到目前为止所有元素的中位数。由于问题是要求中位数,也就是说我们可以快速的找到中位数【奇数情况】或者中位数两边【偶数情况】的数字就好了。// 返回 1.5 ((1 + 2) / 2)如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。void addNum(int num) 将数据流中的整数 num 添加到数据结构中。例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5。例如 arr = [2,3,4] 的中位数是 3。原创 2024-06-14 15:20:16 · 459 阅读 · 0 评论 -
【LeetCode】前 K 个高频元素
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。进阶:你所设计算法的时间复杂度 必须 优于 O(n log n) ,其中 n 是数组大小。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。输入: nums = [1,1,1,2,2,3], k = 2。),最后再遍历剩下的元组,一边遍历一遍进行判断出堆入堆。k 的取值范围是 [1, 数组中不相同的元素的个数]输入: nums = [1], k = 1。遍历完成一遍之后,堆中剩下的有定都是容量前。原创 2024-06-14 07:33:30 · 228 阅读 · 0 评论 -
【LeetCode】数组中的第K个最大元素
请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。输入: [3,2,3,1,2,4,5,5,6], k = 4。可以利用大根堆,首先将所有元素放入堆中,然后弹出堆顶元素。输入: [3,2,1,5,6,4], k = 2。次,弹出之后,最后堆顶剩下的元素就是最大的了。,就可以得到逻辑意义上的大根堆了。里面的堆默认是小根堆,所以对于。大根堆:堆顶元素是堆中最大的。小根堆:堆顶元素是堆中最小的。原创 2024-06-14 07:23:17 · 218 阅读 · 0 评论