Advertisement
Guest User

solution for practice it

a guest
Jul 9th, 2013
567
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.68 KB | None | 0 0
  1. //http://practiceit.cs.washington.edu/problem.jsp?category=Building+Java+Programs%2C+3rd+edition%2FBJP3+Chapter+18&problem=bjp3-18-e9-kthSmallest
  2. public int kthSmallest(PriorityQueue<Integer> queue, int k) throws IllegalArgumentException {
  3.     if (k < 1 || k > queue.size()) {
  4.         throw new IllegalArgumentException("k:" + k + " to small or to large for queueSize:" + queue.size());
  5.     }
  6.     Queue<Integer> buffer = new PriorityQueue<Integer>();
  7.     buffer.addAll(queue);
  8.     int kth = 0;
  9.     final int size = buffer.size();
  10.     for (int i = 0; i < size; i++) {
  11.         if(i < k) {
  12.             kth = buffer.peek();
  13.         }
  14.         buffer.poll();
  15.     }
  16.     return kth;
  17. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement