diff --git a/.classpath b/.classpath new file mode 100644 index 00000000..3f3893af --- /dev/null +++ b/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..444d1079 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/Problem1.class +/Solution.class +/Problem2.class +/Problem3.class diff --git a/.project b/.project new file mode 100644 index 00000000..d20f5af9 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + Array1 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Problem1.java b/Problem1.java new file mode 100644 index 00000000..0d2708f0 --- /dev/null +++ b/Problem1.java @@ -0,0 +1,18 @@ +class Solution { + public int[] productExceptSelf(int[] num) { + int n= num.length; + int[] result= new int[n]; + result[0]=1; + int lp=1; + for(int i=1;i=0;i--){ + rp=rp*num[i+1]; + result[i]=result[i]*rp; + } + return result; + } +} \ No newline at end of file diff --git a/Problem2.java b/Problem2.java new file mode 100644 index 00000000..20cce90f --- /dev/null +++ b/Problem2.java @@ -0,0 +1,42 @@ +class Problem2 { + public int[] findDiagonalOrder(int[][] mat) { + int m= mat.length; + int n= mat[0].length; + int r=0; + int c=0; + boolean dir= true; + int[] result= new int[m*n]; + for(int i=0;i spiralOrder(int[][] matrix) { + int m= matrix.length; + int n= matrix[0].length; + int top=0; + int left=0; + int right= n-1; + int bottom= m-1; + List result= new ArrayList<>(); + while(left<=right && top<= bottom){ + for(int i=left;i<=right;i++){ + result.add(matrix[top][i]); + } + top++; + for(int i=top;i<=bottom;i++){ + result.add(matrix[i][right]); + } + right--; + if(top<=bottom){ + for(int i=right; i>=left;i--){ + result.add(matrix[bottom][i]); + } + bottom--; + } + if(left<=right){ + for(int i=bottom;i>=top;i--){ + result.add(matrix[i][left]); + } + left++; + } + } + return result; + + } +} \ No newline at end of file