leetcode 59. 螺旋矩阵 II(递归)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 59. 螺旋矩阵 II(递归)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給你一個(gè)正整數(shù) n ,生成一個(gè)包含 1 到 n2 所有元素,且元素按順時(shí)針順序螺旋排列的 n x n 正方形矩陣 matrix 。
示例 1:
輸入:n = 3
輸出:[[1,2,3],[8,9,4],[7,6,5]]
解題思路
按層進(jìn)行數(shù)字的填充,每一層都按四條邊的位置依次填充
代碼
class Solution {int z=1;public int[][] generateMatrix(int n) {int[][] matrix = new int[n][n];int r=matrix.length,c=matrix.length,x=0,y=0;put(r,c,x,y,matrix);return matrix;}public void put (int r,int c,int x,int y,int[][] matrix){if(r<=0||c<=0) return;//矩陣有偶數(shù)層if(r==1)//矩陣有奇數(shù)層,最后一層只有一個(gè)元素{ matrix[y][x]=z;return;}for (int i=x;i<x+c;i++)matrix[y][i]=z++;for (int i=y+1;i<y+r-1;i++)matrix[i][x+c-1]=z++;for (int i=x+c-1;i>=x;i--)matrix[y+r-1][i]=z++;for (int i=y+r-2;i>y;i--)matrix[i][x]=z++;put(r-2,c-2,x+1,y+1,matrix);} }總結(jié)
以上是生活随笔為你收集整理的leetcode 59. 螺旋矩阵 II(递归)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 梦到老鼠爬到自己身上是什么意思
- 下一篇: 昨晚我梦到你了怎么回复