59. 螺旋矩阵 II(模拟)
給你一個(gè)正整數(shù) n ,生成一個(gè)包含 1 到 n2 所有元素,且元素按順時(shí)針順序螺旋排列的 n x n 正方形矩陣 matrix 。
示例 1:
輸入:n = 3
輸出:[[1,2,3],[8,9,4],[7,6,5]]
示例 2:
輸入:n = 1
輸出:[[1]]
提示:
1 <= n <= 20
這個(gè)題目是一道典型的模擬題目,不涉及什么算法,考察的就是對(duì)代碼的使用靈活度;
其實(shí)一看就應(yīng)該想到添加數(shù)其實(shí)就是分為幾個(gè)循環(huán)來做,
填充上行從左到右
填充右列從上到下
填充下行從右到左
填充左列從下到上
難點(diǎn)也就是在這里,該如何規(guī)定循環(huán)長(zhǎng)度?
這里面一定要注意的是循環(huán)區(qū)間規(guī)定的統(tǒng)一性,不能這個(gè)是左閉右開,那個(gè)就成了左開右閉,這樣會(huì)出現(xiàn)很多問題,
這里我們遵循左閉右開的原則,那么就拿示例一來說,遍歷順序就是:
1 到 2
3 到 4
5 到 6
7 到 8
這就完成了一圈的循環(huán),
這就是這道題你所規(guī)定的標(biāo)準(zhǔn),這樣做才不會(huì)亂
代碼有詳細(xì)注釋,可以結(jié)合來看
代碼如下:
總結(jié)
以上是生活随笔為你收集整理的59. 螺旋矩阵 II(模拟)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STL 中的 accumulate(C+
- 下一篇: 904. 水果成篮(滑动窗口)模板题