From e51fcf039a38be0a44c06f748d89a6a3714032b3 Mon Sep 17 00:00:00 2001 From: Keerthi0910 Date: Sat, 29 Aug 2026 12:06:47 -0500 Subject: [PATCH 1/4] Create Problem1.java --- Problem1.java | 1 + 1 file changed, 1 insertion(+) create mode 100644 Problem1.java diff --git a/Problem1.java b/Problem1.java new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Problem1.java @@ -0,0 +1 @@ + From a1a91a3161c5cdee17dcb62f36db81f54dc5dbef Mon Sep 17 00:00:00 2001 From: Keerthi0910 Date: Sat, 29 Aug 2026 12:07:05 -0500 Subject: [PATCH 2/4] Create Problem2.java --- Problem2.java | 1 + 1 file changed, 1 insertion(+) create mode 100644 Problem2.java diff --git a/Problem2.java b/Problem2.java new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Problem2.java @@ -0,0 +1 @@ + From 99a0d2bf9d98f54c1b1d7efb0c5c0f73dec23094 Mon Sep 17 00:00:00 2001 From: Keerthi0910 Date: Sat, 29 Aug 2026 12:10:10 -0500 Subject: [PATCH 3/4] Update Problem1.java --- Problem1.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/Problem1.java b/Problem1.java index 8b13789..d2dfdde 100644 --- a/Problem1.java +++ b/Problem1.java @@ -1 +1,59 @@ +//o(mxn) time complexity +//o(mxn) space complexity +//bfs + + +class Solution { + public int orangesRotting(int[][] grid) { + + Queue queue = new LinkedList<>(); + int m = grid.length; + int n = grid[0].length; + int freshOrangesCount = 0; + + for(int i = 0; i< m; i++){ + for (int j = 0; j < n ; j++){ + if(grid[i][j] == 2){ + queue.offer(new int[]{i,j}); + } + + if(grid[i][j] == 1) { + freshOrangesCount++; + } + } + } + + if(freshOrangesCount == 0){ + return 0; + } + + if(queue.size() == 0){ + return -1; + } + + int minutes = -1; + + int[][] dirs = {{1,0}, {-1,0},{0,-1},{0,1} }; + + while(!queue.isEmpty()){ + int size = queue.size(); + minutes++; + for(int k =0; k< size; k++){ + int[] curr = queue.poll(); + int r = curr[0]; + int c = curr[1]; + for(int[] dir: dirs){ + int nr = r + dir[0]; + int nc = c + dir[1]; + if(nr >= 0 && nr < m && nc >=0 && nc < n && grid[nr][nc] == 1){ + grid[nr][nc] = 2; + freshOrangesCount--; + queue.offer(new int[]{nr,nc}); + } + } + } + } + return freshOrangesCount == 0 ? minutes : -1; + } +} From c4492191ee5c967465a968bce8526c79d602aa0c Mon Sep 17 00:00:00 2001 From: Keerthi0910 Date: Sat, 29 Aug 2026 22:13:16 -0500 Subject: [PATCH 4/4] Update Problem2.java --- Problem2.java | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Problem2.java b/Problem2.java index 8b13789..6bc2088 100644 --- a/Problem2.java +++ b/Problem2.java @@ -1 +1,41 @@ +//bfs +//o(n) space complexity +//o(n) time complexity +/* +// Definition for Employee. +class Employee { + public int id; + public int importance; + public List subordinates; +}; +*/ +class Solution { + HashMap map = new HashMap<>(); + public int getImportance(List employees, int id) { + + int impTotal = 0; + + Queue q = new LinkedList<>(); + + for(Employee emp: employees){ + map.put(emp.id, emp); + } + q.add(id); + + + while(!q.isEmpty()){ + int size = q.size(); + int curr = q.poll(); + Employee currEmp = map.get(curr); + + impTotal = impTotal+currEmp.importance; + + for(int empId: currEmp.subordinates){ + q.add(empId); + + } + } + return impTotal; + } +}