leetcode 329 矩陣中的最長遞迴路徑

2021-10-09 08:05:54 字數 818 閱讀 4452

給定乙個整數矩陣,找出最長遞增路徑的長度。

對於每個單元格,你可以往上,下,左,右四個方向移動。 你不能在對角線方向上移動或移動到邊界外(即不允許環繞)。

示例 1:

輸入: nums =

[[9,9,4],

[6,6,8],

[2,1,1]

]輸出: 4

解釋: 最長遞增路徑為 [1, 2, 6, 9]。

示例 2:

輸入: nums =

[[3,4,5],

[3,2,6],

[2,2,1]

]輸出: 4

解釋: 最長遞增路徑是 [3, 4, 5, 6]。注意不允許在對角線方向上移動。

dfs+備忘錄可以降低複雜度

class

solution

}return res;

}public

intdfs

(int

matrix,

int row,

int col,

int old)

}

下面的**只用了dfs,但是複雜度很高,通過了135/138個用例,超出了時間限制,自己寫的紀念一下

class

solution

}return max;

}void

dfs(

int[

] matrix,

int count,

int row,

int col,

int old)

}

LeetCode329 矩陣中的最長遞增路徑

遍歷每乙個元素 i 看它的上下左右都是否比它大,假如 j 比 i 大,那麼就在 比 j 大的個數的基礎上 1。簡單說就是挨個去找每個元素到底有幾個數字比它大,然後把結果儲存起來,最後找出來最大的。題目也不難,主要是dfs 之前沒有寫過,自己寫了乙個十幾個的if語句 哪兒有這麼差的 嘛。主要就是記錄一...

Leetcode 329 矩陣中的最長遞增路徑

給定乙個整數矩陣,找出最長遞增路徑的長度。對於每個單元格,你可以往上,下,左,右四個方向移動。你不能在對角線方向上移動或移動到邊界外 即不允許環繞 示例 1 輸入 nums 9,9,4 6,6,8 2,1,1 輸出 4 解釋 最長遞增路徑為 1,2,6,9 示例 2 輸入 nums 3,4,5 3,...

leetcode329 矩陣中的最長遞增路徑

給定乙個整數矩陣,找出最長遞增路徑的長度。對於每個單元格,你可以往上,下,左,右四個方向移動。你不能在對角線方向上移動或移動到邊界外 即不允許環繞 示例 1 輸入 nums 9,9,4 6,6,8 2,1,1 輸出 4 解釋 最長遞增路徑為 1,2,6,9 示例 2 輸入 nums 3,4,5 3,...