GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — hackerrank-java/src/JavaPriorityQueue.java at master · anishLearnsToCode/hackerrank-java Expand file tree/ Copy pathJavaPriorityQueue.javaMore file actions 84 lines (69 loc) · 2.24 KB / Copy pathJavaPriorityQueue.javaFile metadata and controls84 lines (69 loc) · 2.24 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 // import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.PriorityQueue; import java.util.Scanner; public class JavaPriorityQueue { private final static Scanner scan = new Scanner(System.in); private final static Priorities priorities = new Priorities(); public static void main(String[] args) { int totalEvents = Integer.parseInt(scan.nextLine()); List<String> events = new ArrayList<>(); while (totalEvents-- != 0) { String event = scan.nextLine(); events.add(event); } List<Student> students = priorities.getStudents(events); if (students.isEmpty()) { System.out.println("EMPTY"); } else { for (Student st: students) { System.out.println(st.getName()); } } } private static class Student { int id; String name; double cgpa; Student(int id, String name, double cgpa) { this.id = id; this.name = name; this.cgpa = cgpa; } String getName() { return name; } int getId() { return id; } double getCgpa() { return cgpa; } } private static class Priorities { List<Student> getStudents(List<String> events) { PriorityQueue<Student> queue = new PriorityQueue<>( Comparator.comparing(Student::getCgpa).reversed() .thenComparing(Student::getName) .thenComparing(Student::getId) ); for (String event : events) { String[] tokens = event.split(" "); if (tokens[0].equals("ENTER")) { String name = tokens[1]; double cgpa = Double.parseDouble(tokens[2]); int id = Integer.parseInt(tokens[3]); queue.add(new Student(id, name, cgpa)); } else { queue.poll(); } } while(queue.size() > 1) { System.out.println(queue.poll().name); } return new ArrayList<>(queue); } } } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |