image_2021-12-07_02-23-04.png
63.8 KB
#N1260. Shift 2D Grid
problem link
#solution
problem link
#solution
class Solution {
public List<List<Integer>> shiftGrid(int[][] grid, int k) {
List<List<Integer>> list = new ArrayList<>();
int m=grid.length, n=grid[0].length;
while(k-- > 0){
int temp=grid[m-1][n-1];
for(int i=m-1; i>=0; i--){
for(int j=n-1; j>0; j--){
if(i==0 && j==0) break;
grid[i][j]=grid[i][j-1];
}
if(i>0) grid[i][0]=grid[i-1][n-1];
}
grid[0][0]=temp;
}
for(int i=0; i<m; i++){
List<Integer> sublist = new ArrayList<>();
for(int j=0; j<n; j++){
sublist.add(grid[i][j]);
}
list.add(sublist);
}
return list;
}
}image_2022-04-12_00-23-56.png
52.4 KB
#N1260. Shift 2D Grid
problem link
#solution
problem link
#solution
class Solution {
public List<List<Integer>> shiftGrid(int[][] grid, int k) {
int m=grid.length, n=grid[0].length, counter=m*n-k%(m*n);
List<Integer> list = new ArrayList<>();
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
list.add(grid[i][j]);
}
}
List<Integer> piece;
List<List<Integer>> ans = new ArrayList<>();
for(int i=0; i<m; i++){
piece = new ArrayList<>();
for(int j=0; j<n; j++){
piece.add(list.get(counter++ % (m*n)));
}
ans.add(piece);
}
return ans;
}
}👍2