From e93f5af59d5be2e8fb9ba88786a635f0d0ff115b Mon Sep 17 00:00:00 2001 From: YogeshPardeshi <31638743+YogeshPardeshi@users.noreply.github.com> Date: Sat, 23 May 2026 14:40:40 -0400 Subject: [PATCH 1/2] Create Problem1.java Problem1 --- Problem1.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Problem1.java diff --git a/Problem1.java b/Problem1.java new file mode 100644 index 00000000..24630ea5 --- /dev/null +++ b/Problem1.java @@ -0,0 +1,41 @@ +/** + * Definition for a binary tree node. + * public class TreeNode { + * int val; + * TreeNode left; + * TreeNode right; + * TreeNode() {} + * TreeNode(int val) { this.val = val; } + * TreeNode(int val, TreeNode left, TreeNode right) { + * this.val = val; + * this.left = left; + * this.right = right; + * } + * } + */ +class Problem1 { + public List> levelOrder(TreeNode root) { + if(root == null) return new ArrayList<>(); + List> result = new ArrayList<>(); + Queue q = new LinkedList<>(); + q.add(root); + + while(!q.isEmpty()){ + int size = q.size(); + List temp = new ArrayList<>(); + for(int i=0; i Date: Sat, 23 May 2026 14:41:40 -0400 Subject: [PATCH 2/2] Create Problem2.java Problem2 --- Problem2.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Problem2.java diff --git a/Problem2.java b/Problem2.java new file mode 100644 index 00000000..324dacc5 --- /dev/null +++ b/Problem2.java @@ -0,0 +1,44 @@ +class Problem2 { + public boolean canFinish(int numCourses, int[][] prerequisites) { + + int[] indegrees = new int[numCourses]; + HashMap> map = new HashMap<>(); + + for(int[] pr : prerequisites){ + // pr[0] - dependent, pr[1] - independent + indegrees[pr[0]]++; + map.putIfAbsent(pr[1], new ArrayList<>()); + map.get(pr[1]).add(pr[0]); + } + + int count = 0; + Queue q = new LinkedList<>(); + + for(int i = 0; i < numCourses; i++){ + if(indegrees[i] == 0){ + q.add(i); + count++; + } + } + + if(q.isEmpty()) return false; + if(count == numCourses) return true; + + while(!q.isEmpty()){ + int curr = q.poll(); + List dependencies = map.get(curr); + if(dependencies != null){ + for(int dependent : dependencies){ + indegrees[dependent]--; + if(indegrees[dependent] == 0){ + q.add(dependent); + count++; + if(count == numCourses) return true; + } + } + } + } + + return false; + } +}