Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //http://practiceit.cs.washington.edu/problem.jsp?category=Building+Java+Programs%2C+3rd+edition%2FBJP3+Chapter+18&problem=bjp3-18-e9-kthSmallest
- public int kthSmallest(PriorityQueue<Integer> queue, int k) throws IllegalArgumentException {
- if (k < 1 || k > queue.size()) {
- throw new IllegalArgumentException("k:" + k + " to small or to large for queueSize:" + queue.size());
- }
- Queue<Integer> buffer = new PriorityQueue<Integer>();
- buffer.addAll(queue);
- int kth = 0;
- final int size = buffer.size();
- for (int i = 0; i < size; i++) {
- if(i < k) {
- kth = buffer.peek();
- }
- buffer.poll();
- }
- return kth;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement