一入循環(huán)深似海 | LeetCode:59.螺旋矩陣II
2023-04-01 21:07 作者:開(kāi)發(fā)員阿夢(mèng) | 我要投稿

數(shù)列轉(zhuǎn)的圈數(shù)可以這么想。
畫(huà)一下邊長(zhǎng)為2~5的情況。
n就是題目給出的正整數(shù)。、
然后做一下思考,一個(gè)邊長(zhǎng)為n的正方形矩陣,每次轉(zhuǎn)完外圈,螺旋向內(nèi)收縮時(shí),邊長(zhǎng)收縮為n1=n-2;擋轉(zhuǎn)完這個(gè)圈,再向內(nèi)時(shí),邊長(zhǎng)再度收縮為n2=n1-2;以此類推。也就是n這個(gè)數(shù)包含幾個(gè)2,就需要轉(zhuǎn)幾圈。也就是和n/2有關(guān)。
當(dāng)n為偶數(shù),這個(gè)圈數(shù)就是n/2;
當(dāng)n為奇數(shù),需要轉(zhuǎn)的完整圈數(shù)也是n/2,但是最后肯定回縮圈到一個(gè)3x3的矩陣,最后一個(gè)數(shù)字放在最中央。但是嚴(yán)格來(lái)說(shuō)應(yīng)該是(n/2)+1圈,最后一圈縮到一個(gè)1x1的矩陣。
標(biāo)簽: