From 453e2645540820786d82461b7dd011315bab6133 Mon Sep 17 00:00:00 2001 From: Ayush Gupta <57136524+iayushguptaaa@users.noreply.github.com> Date: Fri, 1 Oct 2021 17:59:18 +0530 Subject: [PATCH] Create maximumNumberOfEventsAttended.java --- otherAlgos/maximumNumberOfEventsAttended.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 otherAlgos/maximumNumberOfEventsAttended.java diff --git a/otherAlgos/maximumNumberOfEventsAttended.java b/otherAlgos/maximumNumberOfEventsAttended.java new file mode 100644 index 0000000..e23bcda --- /dev/null +++ b/otherAlgos/maximumNumberOfEventsAttended.java @@ -0,0 +1,24 @@ +public maximumNumberOfEventsAttended { + public static class Solution1 { + + public int maxEvents(int[][] events) { + Arrays.sort(events, (a, b) -> a[0] != b[0] ? a[0] - b[0] : a[1] - b[1]); + PriorityQueue heap = new PriorityQueue<>(); + int maxEvents = 0; + int i = 0; + for (int day = 1; day <= 100000; day++) { + while (i < events.length && events[i][0] == day) { + heap.offer(events[i++][1]); + } + while (heap.size() > 0 && heap.peek() < day) { + heap.poll(); + } + if (heap.size() > 0) { + heap.poll(); + maxEvents++; + } + } + return maxEvents; + } + } +}