leetcode每日一題 59 螺旋矩陣II

2021-10-22 09:53:25 字數 1205 閱讀 6196

題目:

給你乙個正整數 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 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...