File tree 3 files changed +52
-0
lines changed
solution/1200-1299/1260.Shift 2D Grid
3 files changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -109,6 +109,25 @@ class Solution {
109
109
}
110
110
```
111
111
112
+ ### ** TypeScript**
113
+
114
+ ``` ts
115
+ function shiftGrid(grid : number [][], k : number ): number [][] {
116
+ const m = grid .length , n = grid [0 ].length ;
117
+ const size = m * n ;
118
+ k = k % size ;
119
+ if (k == 0 || size <= 1 ) return grid ;
120
+ let arr = grid .flat ();
121
+ if (size <= 1 ) return grid ;
122
+ let ans = Array .from ({ length: m }, v => new Array (n ));
123
+ for (let i = 0 , j = size - k ; i < size ; i ++ ) {
124
+ ans [Math .floor (i / n )][i % n ] = arr [j ];
125
+ j = j == size - 1 ? 0 : j + 1 ;
126
+ }
127
+ return ans ;
128
+ };
129
+ ```
130
+
112
131
### ** C++**
113
132
114
133
``` cpp
Original file line number Diff line number Diff line change @@ -95,6 +95,25 @@ class Solution {
95
95
}
96
96
```
97
97
98
+ ### ** TypeScript**
99
+
100
+ ``` ts
101
+ function shiftGrid(grid : number [][], k : number ): number [][] {
102
+ const m = grid .length , n = grid [0 ].length ;
103
+ const size = m * n ;
104
+ k = k % size ;
105
+ if (k == 0 || size <= 1 ) return grid ;
106
+ let arr = grid .flat ();
107
+ if (size <= 1 ) return grid ;
108
+ let ans = Array .from ({ length: m }, v => new Array (n ));
109
+ for (let i = 0 , j = size - k ; i < size ; i ++ ) {
110
+ ans [Math .floor (i / n )][i % n ] = arr [j ];
111
+ j = j == size - 1 ? 0 : j + 1 ;
112
+ }
113
+ return ans ;
114
+ };
115
+ ```
116
+
98
117
### ** C++**
99
118
100
119
``` cpp
Original file line number Diff line number Diff line change
1
+ function shiftGrid ( grid : number [ ] [ ] , k : number ) : number [ ] [ ] {
2
+ const m = grid . length , n = grid [ 0 ] . length ;
3
+ const size = m * n ;
4
+ k = k % size ;
5
+ if ( k == 0 || size <= 1 ) return grid ;
6
+ let arr = grid . flat ( ) ;
7
+ if ( size <= 1 ) return grid ;
8
+ let ans = Array . from ( { length : m } , v => new Array ( n ) ) ;
9
+ for ( let i = 0 , j = size - k ; i < size ; i ++ ) {
10
+ ans [ Math . floor ( i / n ) ] [ i % n ] = arr [ j ] ;
11
+ j = j == size - 1 ? 0 : j + 1 ;
12
+ }
13
+ return ans ;
14
+ } ;
You can’t perform that action at this time.
0 commit comments