From 0ec4e387e5b22e2bebcca58205812b32695db206 Mon Sep 17 00:00:00 2001 From: Lakshmi Durga Date: Thu, 13 Aug 2026 10:16:53 -0700 Subject: [PATCH 1/2] added the empty files --- diagonal traverse.java | 0 product of array except self.java | 0 spiral matrix.java | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 diagonal traverse.java create mode 100644 product of array except self.java create mode 100644 spiral matrix.java diff --git a/diagonal traverse.java b/diagonal traverse.java new file mode 100644 index 00000000..e69de29b diff --git a/product of array except self.java b/product of array except self.java new file mode 100644 index 00000000..e69de29b diff --git a/spiral matrix.java b/spiral matrix.java new file mode 100644 index 00000000..e69de29b From 47f5591b8ee706f9beaea058d1093db04344920b Mon Sep 17 00:00:00 2001 From: Lakshmi Durga Date: Sun, 16 Aug 2026 22:04:13 -0700 Subject: [PATCH 2/2] Completed both the problems --- diagonal traverse.java | 37 +++++++++++++++++++++++++++++++ product of array except self.java | 18 +++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/diagonal traverse.java b/diagonal traverse.java index e69de29b..99eb9b00 100644 --- a/diagonal traverse.java +++ b/diagonal traverse.java @@ -0,0 +1,37 @@ +class Solution { + public int[] findDiagonalOrder(int[][] mat) { + int m = mat.length; + int n = mat[0].length; + int r =0; + int c = 0; + int[] res = new int[m*n]; + boolean dir = true; // moves up + for(int i =0; i< m*n; i++) { + res[i]=mat[r][c]; + if(dir == true) { + if(c== n-1) { + r++; + dir= false; + } else if(r==0){ + c++; + dir = false; + } else { + r--; + c++; + } + } else { + if(r==m-1) { + c++; + dir = true; + } else if(c==0){ + r++; + dir = true; + } else { + r++; + c--; + } + } + } + return res; + } +} diff --git a/product of array except self.java b/product of array except self.java index e69de29b..d55f28b9 100644 --- a/product of array except self.java +++ b/product of array except self.java @@ -0,0 +1,18 @@ +class Solution { + public int[] productExceptSelf(int[] nums) { + int n = nums.length; + int[] lp = new int[n]; + int rp = 1; + lp[0] = 1; + for(int i=1; i< n; i++) { + lp[i] = rp * nums[i-1]; + rp = lp[i]; + } + rp=1; + for(int j=nums.length-2; j >= 0; j--) { + rp = rp * nums[j+1]; + lp[j] = lp[j] * rp; + } + return lp; + } +} \ No newline at end of file