diff --git a/level2/MatrixCrustRotation.java b/level2/MatrixCrustRotation.java index b3afe9c..2b6084a 100644 --- a/level2/MatrixCrustRotation.java +++ b/level2/MatrixCrustRotation.java @@ -47,14 +47,13 @@ class Solution { public int[] solution(int rows, int columns, int[][] queries) { - int[] answer = {}; - - int[][] initArray = new int[rows][columns]; + int[] answer = new int[queries.length]; + int[][] matrix = new int[rows][columns]; int initNum = 1; for(int i=0; i preNum ? preNum : minNum; + + if(row == x1 && col != y2) { + col++; + } else if(row != x2 && col == y2) { + row++; + } else if(row == x2 && col != y1) { + col--; + } else if(row != x1 && col == y1) { + row--; + } + + matrix[row][col] = matrix[row][col] ^ preNum; + preNum = preNum ^ matrix[row][col]; + matrix[row][col] = matrix[row][col] ^ preNum; + + if(row == x1 && col == y1) break; + }; + + answer[i] = minNum; } return answer; } } +