每日一題力扣498

2022-06-05 10:06:08 字數 853 閱讀 5524

給定乙個含有 m x n 個元素的矩陣(m 行,n 列),請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。

正解:這道題太焦心了!

class

solution:

def finddiagonalorder(self, matrix: list[list[int]]) ->list[int]:

ifnot matrix: return

row =len(matrix)

col =len(matrix[0])

res =

i = j =0

for _ in range(row*col):#

有多少個數就查詢多少次

把第乙個數加進來

if i == 0 and j%2 == 0 and j < col-1:#

第一行中找偶數列,找開始

j += 1#

就往右走,準備從右上往左下走

elif (i+j)%2 == 0 and j == col-1:#

奇數列,找終止

i += 1#

就往下走

elif j == 0 and i%2 == 1 and i < row-1:#

第一列中找奇數列,找開始

i += 1

elif (i+j)%2 == 1 and i == row-1:#

#偶數列,找終止

j += 1#

那就往右走,準備從左下往右上走

elif (i+j)%2 == 1:

i += 1j -= 1

elif (i+j)%2 ==0:

i -= 1j += 1

return res

每日一題 力扣 計畫

98 驗證二叉搜尋樹 問題給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 1.節點的左子樹只包含小於當前節點的數。2.節點的右子樹只包含大於當前節點的數。3.所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 1 3 輸出 true示例2 輸入 5 1 4...

力扣每日一題 6 14

1300 轉變陣列後最接近目標值的陣列和 給你乙個整數陣列 arr 和乙個目標值 target 請你返回乙個整數 value 使得將陣列中所有大於 value 的值變成 value 後,陣列的和最接近 target 最接近表示兩者之差的絕對值最小 如果有多種使得和最接近 target 的方案,請你返...

每日一題力扣48

給定乙個 n n 的二維矩陣 matrix 表示乙個影象。請你將影象順時針旋轉 90 度。你必須在 原地 旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要 使用另乙個矩陣來旋轉影象。正解 旋轉90度就是,先鏡面對稱,再轉置即可 class solution defrotate self,mat...