由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - leetcode 上的k way merge
相关主题
请教各位大牛一个K-way merge 的问题k sorted array merge大家现场写一个heap?
到底什么是priority queue啊?C++里如何将一个vector转换成priority_queue
G家电面(已挂)一道面试题。
[BSSD]回国一趟回来做题很难进入状态了,顺便问下那个Merge k Sortedhow to code this question of LinkedIn
twittier的onsite挂了,来问个常见题问一个面试经常问的ood,维护前k名的list的问题
问一个merge K sorted list的时间复杂度面试题:Data structure to find top 10 search strings
请大家 看看这个 Merge k Sorted Lists (Java), 我不太明白明天电面,求建议
问一下LeetCode JVM的Illegeal Parameter Exception弱问C++用heap的题能用multiset吗
相关话题的讨论汇总
话题: listnode话题: node话题: null话题: merge话题: root
进入JobHunting版参与讨论
1 (共1页)
b*****u
发帖数: 648
1
今天动手做了一下才发现挺复杂
用heap做怎么由value反查到相应的list?用哈希表的话是否需要 >
因为可能有重复value? 这样代码写起来好麻烦啊。
另外两两merge的方法,和heap的时间开销一样对吧,都是(nlogk) 假设k个list,总
共n个数
c********t
发帖数: 5706
2
要自己写一个 pair{ int index; int value} structure or class

>

【在 b*****u 的大作中提到】
: 今天动手做了一下才发现挺复杂
: 用heap做怎么由value反查到相应的list?用哈希表的话是否需要 >
: 因为可能有重复value? 这样代码写起来好麻烦啊。
: 另外两两merge的方法,和heap的时间开销一样对吧,都是(nlogk) 假设k个list,总
: 共n个数

B********t
发帖数: 147
3
为啥要保存value? 保存linked list node pointer不好了?

>

【在 b*****u 的大作中提到】
: 今天动手做了一下才发现挺复杂
: 用heap做怎么由value反查到相应的list?用哈希表的话是否需要 >
: 因为可能有重复value? 这样代码写起来好麻烦啊。
: 另外两两merge的方法,和heap的时间开销一样对吧,都是(nlogk) 假设k个list,总
: 共n个数

p*****p
发帖数: 379
4
heap直接放node就行了啊,贴个java的,c++也一样的
public class Solution {
public ListNode mergeKLists(ArrayList lists) {
// Start typing your Java solution below
// DO NOT write main() function
ListNode root = null;
ListNode current = null;
if (lists.isEmpty()) return null;
Queue queue = new PriorityQueue(lists.size(), new
Comparator() {
public int compare(ListNode n1, ListNode n2) {
return n1.val - n2.val;
}
});

for (ListNode node : lists) {
if (node == null) continue;
queue.offer(node);
}

while (queue.size() > 0) {
ListNode node = queue.poll();
if (node.next != null) {
queue.offer(node.next);
}
if (root == null) {
root = node;
current = node;
}
else {
current.next = node;
current = current.next;
}
}

return root;
}
}

>

【在 b*****u 的大作中提到】
: 今天动手做了一下才发现挺复杂
: 用heap做怎么由value反查到相应的list?用哈希表的话是否需要 >
: 因为可能有重复value? 这样代码写起来好麻烦啊。
: 另外两两merge的方法,和heap的时间开销一样对吧,都是(nlogk) 假设k个list,总
: 共n个数

c********t
发帖数: 5706
5
原题是merge k way linkedlist啊, 做了一遍leetcode, 都忘了,

【在 p*****p 的大作中提到】
: heap直接放node就行了啊,贴个java的,c++也一样的
: public class Solution {
: public ListNode mergeKLists(ArrayList lists) {
: // Start typing your Java solution below
: // DO NOT write main() function
: ListNode root = null;
: ListNode current = null;
: if (lists.isEmpty()) return null;
: Queue queue = new PriorityQueue(lists.size(), new
: Comparator() {

b*****u
发帖数: 648
6
多谢!
还是平时对priority_queue玩得不够熟,都没试过重载Compare()

【在 p*****p 的大作中提到】
: heap直接放node就行了啊,贴个java的,c++也一样的
: public class Solution {
: public ListNode mergeKLists(ArrayList lists) {
: // Start typing your Java solution below
: // DO NOT write main() function
: ListNode root = null;
: ListNode current = null;
: if (lists.isEmpty()) return null;
: Queue queue = new PriorityQueue(lists.size(), new
: Comparator() {

l********5
发帖数: 230
7
最后的if else是干什么的呀??

【在 p*****p 的大作中提到】
: heap直接放node就行了啊,贴个java的,c++也一样的
: public class Solution {
: public ListNode mergeKLists(ArrayList lists) {
: // Start typing your Java solution below
: // DO NOT write main() function
: ListNode root = null;
: ListNode current = null;
: if (lists.isEmpty()) return null;
: Queue queue = new PriorityQueue(lists.size(), new
: Comparator() {

1 (共1页)
进入JobHunting版参与讨论
相关主题
弱问C++用heap的题能用multiset吗twittier的onsite挂了,来问个常见题
弱弱的问个C++用priority_queue定义min heap的问题问一个merge K sorted list的时间复杂度
L家coding question一问请大家 看看这个 Merge k Sorted Lists (Java), 我不太明白
Find top K most frequent numbers?问一下LeetCode JVM的Illegeal Parameter Exception
请教各位大牛一个K-way merge 的问题k sorted array merge大家现场写一个heap?
到底什么是priority queue啊?C++里如何将一个vector转换成priority_queue
G家电面(已挂)一道面试题。
[BSSD]回国一趟回来做题很难进入状态了,顺便问下那个Merge k Sortedhow to code this question of LinkedIn
相关话题的讨论汇总
话题: listnode话题: node话题: null话题: merge话题: root