Advertisement
Guest User

Untitled

a guest
Aug 28th, 2015
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. private static List<String> find(List<String> unordered, int from, int to) {
  2. if (from < unordered.size() / 2) {
  3. PriorityQueue<String> queue = new PriorityQueue<>(unordered);
  4.  
  5. for (int i=0; i<from; i++) queue.remove();
  6.  
  7. List<String> result = new ArrayList<>();
  8. for (int i=from; i<to; i++) {
  9. result.add(queue.remove());
  10. }
  11. return result;
  12. }
  13.  
  14. PriorityQueue<String> queue = new PriorityQueue<>(unordered.size(), ((Comparator<String>)String::compareTo).reversed());
  15. queue.addAll(unordered);
  16.  
  17. for (int i=unordered.size()-1; i>=to; i--) queue.remove();
  18.  
  19. List<String> result = new ArrayList<>();
  20. for (int i=to-1; i>=from; i--) {
  21. result.add(queue.remove());
  22. }
  23. Collections.reverse(result);
  24. return result;
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement