File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -287,6 +287,51 @@ var generateMatrix = function(n) {
287
287
288
288
```
289
289
290
+ TypeScript:
291
+
292
+ ``` typescript
293
+ function generateMatrix(n : number ): number [][] {
294
+ let loopNum: number = Math .floor (n / 2 );
295
+ const resArr: number [][] = new Array (n ).fill (1 ).map (i => new Array (n ));
296
+ let chunkNum: number = n - 1 ;
297
+ let startX: number = 0 ;
298
+ let startY: number = 0 ;
299
+ let value: number = 1 ;
300
+ let x: number , y: number ;
301
+ while (loopNum -- ) {
302
+ x = startX ;
303
+ y = startY ;
304
+ while (x < startX + chunkNum ) {
305
+ resArr [y ][x ] = value ;
306
+ x ++ ;
307
+ value ++ ;
308
+ }
309
+ while (y < startY + chunkNum ) {
310
+ resArr [y ][x ] = value ;
311
+ y ++ ;
312
+ value ++ ;
313
+ }
314
+ while (x > startX ) {
315
+ resArr [y ][x ] = value ;
316
+ x -- ;
317
+ value ++ ;
318
+ }
319
+ while (y > startY ) {
320
+ resArr [y ][x ] = value ;
321
+ y -- ;
322
+ value ++ ;
323
+ }
324
+ startX ++ ;
325
+ startY ++ ;
326
+ chunkNum -= 2 ;
327
+ }
328
+ if (n % 2 === 1 ) {
329
+ resArr [startX ][startY ] = value ;
330
+ }
331
+ return resArr ;
332
+ };
333
+ ```
334
+
290
335
Go:
291
336
292
337
``` go
You can’t perform that action at this time.
0 commit comments