題目:
給你乙個正整數 n ,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的 n x n 正方形矩陣 matrix 。
思路:
把res換成[[0]*n]*n,會得到錯誤的結果
解答:
class
solution
:def
generatematrix
(self, n:
int)
-> list[list[
int]]:
num=
1 res =[[
0for _ in
range
(n)]
for _ in
range
(n)]
up,bottom,left,right=
0,n-1,
0,n-
1while num<=n*n:
for i in
range
(left,right+1)
: res[up]
[i]=num
num+=
1 up+=
1for i in
range
(up,bottom+1)
: res[i]
[right]
=num
num+=
1 right-=
1for i in
range
(right,left-1,
-1):
res[bottom]
[i]=num
num+=
1 bottom-=
1for i in
range
(bottom,up-1,
-1):
res[i]
[left]
=num
num+=
1 left+=
1return res
Leetcode每日一題 59 螺旋矩陣 II
59.螺旋矩陣 ii 給你乙個正整數n,生成乙個包含1到n2所有元素,且元素按順時針順序螺旋排列的n x n正方形矩陣matrix。示例 1 輸入 n 3 輸出 1,2,3 8,9,4 7,6,5 示例 2 輸入 n 1 輸出 1 知道昨天那題怎麼寫了,今天這題就更簡單了,既然是要生成螺旋矩陣,我們...
每日一題 Leetcode59 螺旋矩陣 II
2020 3 16,今天的每日一題是leetcode59.螺旋矩陣 ii,題意如下 這道題和昨天的那個很像,思路也差不多。沒看過的點這裡 每日一題 leetcode54.螺旋矩陣 只需要自己定義乙個二維陣列然後按照之前的題的方向變換。陣列初始值全為0,有值的說明被填過了。然後改變方向就可以了。c 如...
每日一題 LeetCode
在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...