From 59e9c3acb8cd4be64c347a4aeeeb49fb3e7ff485 Mon Sep 17 00:00:00 2001 From: Arwa Date: Sun, 10 Apr 2022 01:02:52 +0300 Subject: [PATCH 1/2] Create 207-Course-Schedule --- java/207-Course-Schedule | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 java/207-Course-Schedule diff --git a/java/207-Course-Schedule b/java/207-Course-Schedule new file mode 100644 index 000000000..60e4eb98d --- /dev/null +++ b/java/207-Course-Schedule @@ -0,0 +1,47 @@ +class Solution { + public boolean canFinish(int numCourses, int[][] prerequisites) { + Map> adjList = new HashMap>(); + int[] indegree = new int[numCourses]; + + //creating the adjlist + for (int i = 0; i < prerequisites.length; i++) { + int post = prerequisites[i][0]; + int pre = prerequisites[i][1]; + List lst = adjList.getOrDefault(pre, new ArrayList()); + lst.add(post); + adjList.put(pre, lst); + + indegree[post] += 1; + } + + Queue q = new LinkedList(); + for (int i = 0; i < numCourses; i++) { + if (indegree[i] == 0) { + q.add(i); + } + } + + int i = 0; + while (!q.isEmpty()) { + int node = q.remove(); + i++; + + if (adjList.containsKey(node)) { + for (Integer neighbor : adjList.get(node)) { + indegree[neighbor]--; + + if (indegree[neighbor] == 0) { + q.add(neighbor); + } + } + } + } + + if (i == numCourses) { + return true; + } + + return false; + } + +} From 4754aef7c7c73f85cf1a71d585e2407c228f0e10 Mon Sep 17 00:00:00 2001 From: Tushar Sharma <62995185+SharmaTushar1@users.noreply.github.com> Date: Sun, 19 Jun 2022 06:08:53 +0530 Subject: [PATCH 2/2] Rename 207-Course-Schedule to 207-Course-Schedule.java --- java/{207-Course-Schedule => 207-Course-Schedule.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename java/{207-Course-Schedule => 207-Course-Schedule.java} (100%) diff --git a/java/207-Course-Schedule b/java/207-Course-Schedule.java similarity index 100% rename from java/207-Course-Schedule rename to java/207-Course-Schedule.java