![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
优先队列
文章平均质量分 54
小马哥MAX
刷题记录BLOG
展开
-
【两次过】Leetcode 23. 合并K个升序链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。原创 2022-09-27 08:53:10 · 140 阅读 · 1 评论 -
【一次过】【优先队列】Lintcode 544. 前K大数
在一个数组中找到前K大的数样例给出[3,10,1000,-99,4,100], k =3.返回[1000, 100, 10]解题思路:看到取前X大(小)数,使用优先队列即可。注意这里使用小根堆,大小始终保持K,不断poll最小的数,最终小根堆会只留下前K大的数由于poll出来的数是由小到大,而题目要求由大到小,所以取数据时记得反取import java.uti...原创 2018-07-19 10:29:32 · 259 阅读 · 0 评论 -
【一次过】【PriorityQueue】Lintcode 543. N数组第K大元素
在N个数组中找到第K大元素样例例1:输入:n=2,[[9,3,2,4,7],[1,2,3,4,8]]输出:7解释:第三大的元素为 7。例2:输入:n=2,[[9,3,2,4,8],[1,2,3,4,2]]输出:8解释:最大的元素为 9,第二大的元素为 8,第三大的元素为 4 等等。注意事项你可以交换数组中的元素解题思路:优先队列...原创 2019-02-12 21:41:03 · 214 阅读 · 0 评论 -
【一次过】Lintcode 5. 第k大元素
在数组中找到第k大的元素样例给出数组[9,3,2,4,8],第三大的元素是4给出数组[1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推挑战要求时间复杂度为O(n),空间复杂度为O(1)注意事项你可以交换数组中的元素的位置解题思路1:看到找第K大的元素,第一反应是使用优先队列。时间复杂度为O(nlogn),空间复杂度...原创 2018-08-12 09:48:09 · 210 阅读 · 0 评论 -
【一次过】Lintcode 545. 前K大数 II
实现一个数据结构,提供下面两个接口1.add(number)添加一个元素2.topk()返回前K大的数样例Example1Input: s = new Solution(3);s.add(3)s.add(10)s.topk()s.add(1000)s.add(-99)s.topk()s.add(4)s.topk()s.add(100)s.topk() ...原创 2019-03-26 20:51:18 · 142 阅读 · 0 评论