[LinkedIn]Merge Sorted Iterator (using comparator)
来源:互联网 发布:美图秀秀mac官方 编辑:程序博客网 时间:2024/06/11 01:06
原帖地址:http://www.mitbbs.com/article_t/JobHunting/32909075.html 自己加了一点注释
public static Iterable<Integer> mergeKSortedIterators(List<Iterator<Integer>> Iters){ Queue<newIter> minHeap = new PriorityQueue<newIter>(); List<Integer> result = new ArrayList<Integer>(); for(Iterator<Integer> iter : Iters){ if(iter.hasNext()){ minHeap.add(new newIter(iter.next(), iter)); } } while(!minHeap.isEmpty()){ newIter newiter = minHeap.poll(); result.add(newiter.getValue()); if(newiter.hasNext()){ minHeap.add(newiter); } } return result; } //这里存的是当前的value,因为直接compare哪个头最小的话,compare一次next()的值就没了,干脆直接用这个class来保存。 //push的时候直接用里面的value来比较 private static class newIter implements Comparable<newIter>{ private Integer value; private Iterator<Integer> iter; public newIter(Integer val, Iterator<Integer> it){ this.value = val; this.iter = it; } public Integer getValue(){ return this.value; } public boolean hasNext(){ if(iter.hasNext()){ value = iter.next(); return true; } return false; } public int compareTo(newIter a){ return this.value - a.value; } }
0 0
- [LinkedIn]Merge Sorted Iterator (using comparator)
- merge k sorted list with iterator
- [LeetCode] Merge k Sorted List (priority queue, min heap, comparator)
- Java中的Comparator和Iterator
- [LinkedIn]Intersection of two sorted array
- Merge Sorted Array && Merge Two Sorted Lists
- Merge Sorted Lists and Merge Sorted Arrays
- LeetCode: Merge Sorted Array
- Merge Sorted Array
- [Leetcode] Merge Sorted Array
- Merge Sorted Array
- Leetcode: Merge Sorted Arrays
- [LeetCode] Merge Sorted Array
- Merge K Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge Sorted Array
- Merge Two Sorted Lists
- xmpp with openfire之五 插件-利用Broadcast实现群
- c++实现的观察者模式 数据和处理方式(百分比、柱状图。。。)
- Smack类库详细介绍
- LeetCode - Valid Number - Frequent
- Sudoku Solver
- [LinkedIn]Merge Sorted Iterator (using comparator)
- 跟我一步一步开发自己的Openfire插件
- LeetCode - Max Points on a Line
- 黑马程序员——Objective-C学习笔记(三):组合
- [LinkedIn]Intersection of two sorted array
- MATLAB indexing question
- 浅解闭包概念
- 我的第一个C语言程序
- Xsolla和亚马逊支付合作,提供游戏内计费方案