![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
优先队列
萌萌,站起来
这个作者很懒,什么都没留下…
展开
-
列出所有区间 字节问题
插一个之前字节问的列出所有的区间: 例:输入:[[1,3],[2,6],[8,10],[15,18]] 输出: [8, 10] [15, 18] [1, 2] [2, 3] [3, 6] solution 自己想的,建立优先队列,存有重复的,这样最小堆就可以往出取时建立区间,存入list中,没有重合的就直接存入list中。 public class merge56byteDance { public static void main(String[] args) { int[][]原创 2020-07-04 16:45:36 · 107 阅读 · 0 评论 -
玩转lee23 合并k个排序链表
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 思考 优先队列 用容量为K的最小堆优先队列,把链表的头结点都放进去,然后出队当前优先队列中最小的**,挂上链表,然后让出队的那个节...原创 2020-01-27 17:38:54 · 136 阅读 · 0 评论 -
lee347前k个高频元素 没找到错误
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 说明: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。 没找到...原创 2020-01-27 16:24:16 · 133 阅读 · 0 评论 -
玩转lee451 根据字符出现频率排序
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1: 输入: “tree” 输出: “eert” 解释: 'e’出现两次,'r’和’t’都只出现一次。 因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。 示例 2: 输入: “cccaaa” 输出: “cccaaa” 解释: 'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。 注意"cac...原创 2020-01-09 19:29:04 · 81 阅读 · 0 评论 -
new 数据流中的中位数 大顶堆 小顶堆 测试未通过
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 思路 由于数据是从一个数据流中读出来的,而数据的数目随着时间的变化而增加,新的数据从流中读出来,这些数据就插入数据容...原创 2019-10-29 18:53:52 · 124 阅读 · 0 评论 -
new 最小k个数
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。原创 2019-10-18 19:20:13 · 87 阅读 · 0 评论 -
new 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路 暴力 遍历一遍如果前一个大于后一个,返回后一个 注: 1.数组为空时,返回0 2.数组就一个元素时 ,返回arra...原创 2019-10-12 22:03:56 · 88 阅读 · 0 评论