嗨,大家好,我是袁廚(因為酷愛做飯,所以自己考取了廚師證),之前一直看大家寫的博客,學到了很多東西,然后最近萌生了自己寫的想法,將自己知道的分享給需要的同學,以后每天會為大家分享leetcode精選題目的各種題解和Python, JS, JQ, CSS, PHP, JAVA的一些小Demo,請大家關注我,一起交流學習吧,
59. 螺旋矩陣 II
- 題目描述
- 螺旋填充
- 做題思路
- 題目代碼
- 總結
題目描述

螺旋填充
做題思路

這個題目比較簡單,但是我們需要注意的是邊界情況,之前寫過一篇博客是螺旋遍歷二維陣列,跟這個題目邏輯思想是相反的,那個會做的話這個也是OK的,主要思想就是先創建一個n*n的二維陣列,然后順時針往里面填充資料,
題目代碼
class Solution {
public static int[][] generateMatrix(int n) {
int num = 1;//用來填充的數字,遞增
int[][] array = new int[n][n];//創建陣列
for(int i = 0;i < (n+1)/2;i++){//也可以改為while回圈更容易理解
for(int top = i ; top < n-i ;top++ ){
//跳出回圈,填充陣列完畢,防止 重復填充
if(num>n*n){
break;
}
array[i][top]=num;
num++;
}
for(int right = i+1 ; right < n-i;right++){
if(num>n*n){
break;
}
array[right][n-i-1]=num;
num++;
}
for(int bottom = n-i-2;bottom>=i;bottom--){
if(num>n*n){
break;
}
array[n-i-1][bottom]=num;
num++;
}
for(int left = n-i-2;left>i;left--){
if(num>n*n){
break;
}
array[left][i]=num;
num++;
}
}
return array;
}
}
總結
該題相當于開通了一個新的型別的題目,通過這個題目我們可以慢慢開辟一個構造二叉樹的模塊,明天會繼續做構造二叉樹的題目,同學們我最近有了一個長久的計劃,就是把leetcode題目整理出來,由淺入深,由簡到繁都整理出來是一個宏大的工程,所以我打算每天整理一到兩個經典題目,完成這一個流程我相信肯定會識訓巨大的,如果想一起刷題的哥們,我們可以一起在群里打卡,共同進步,


作者:LeetCode
鏈接:https://leetcode-cn.com/problems/rotate-array/solution/xuan-zhuan-shu-zu-by-leetcode/
來源:力扣(LeetCode)
著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/169395.html
標籤:其他
下一篇:CSS3影片實作程式媛的小浪漫
