思路:
按照題目要求依次迴圈遍歷,需要安排好順序,
設定好四個座標參考,left,right,top,bottom,用於移動的參考,每次移動後進行相應的更新,
在乙個while下分別放著4個for迴圈,分別表示在四個方向上的移動
class solution:
def generatematrix(self, n: int) -> list[list[int]]:
#還記得上一次瘋狂旋轉
num = 1
left = 0
right = n - 1
top = 0
bottom = n - 1
res = [[0 for i in range(n)] for j in range(n)]
while num <= n * n:
for i in range(left, right + 1):
res[top][i] = num
num += 1
top += 1
for i in range(top, bottom + 1):
res[i][right] = num
num += 1
right -= 1
for i in range(right, left - 1, -1):
res[bottom][i] = num
num += 1
bottom -= 1
for i in range(bottom, top - 1, -1):
res[i][left] = num
num += 1
left += 1
return res
Leetcode鍊錶刷題 pytho語言
為方便後續的使用查詢,記錄一下 函式包括 找到兩個單鏈表相交的起始節點 反轉單鏈表 刪除鍊錶中等於給定值 val 的所有節點 definition for singly linked list.class listnode object def init self,x self.val x self...
開始刷題LeetCode
今天決定開始刷題,每天至少一題,如果題目確實沒有解決出來沒有關係,但是要保證每天至少接觸了一道新的題目!一定要堅持下去,現在是個菜鳥可能會感覺有點難度,堅持下去,總有一天會好的!今天是第一天,做的第乙個題目 reverse words in a string given an input strin...
leetcode刷題歷程
難度 簡單 題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 ...