搜尋二維矩陣 II DFS的實踐

2021-10-09 11:58:09 字數 472 閱讀 6165

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性:

每行的元素從左到右公升序排列。

每列的元素從上到下公升序排列。

dfs+標記

只要懂dfs的感覺這個題還是蠻好解決的,也算是dfs裡面簡單的一種了

從左上角開始沿著右側、下側進行dfs

這樣保證了全部是公升序,所以只要訪問到的某個數字大於target就直接返回false

當然避免重複訪問的問題應該標記已經訪問過的結點,我這裡用999999這個數字覆蓋了

class solution 

bool searchmatrix(vector>& matrix, int target)

};

參考:

搜尋二維矩陣

寫出乙個高效的演算法來搜尋 m n矩陣中的值。這個矩陣具有以下特性 每行中的整數從左到右是排序的。每行的第乙個數大於上一行的最後乙個整數。樣例 考慮下列矩陣 1,3,5,7 10,11,16,20 23,30,34,50 給出 target 3,返回 true 思路一 最容易想到的一種解法就是兩層f...

搜尋二維矩陣

寫出乙個高效的演算法來搜尋 m n矩陣中的值。這個矩陣具有以下特性 樣例 考慮下列矩陣 1,3,5,7 10,11,16,20 23,30,34,50 給出target 3,返回true 解題思路 可以把這個矩陣,看成是乙個大的一維陣列,1,3,5,7,10,11,16,20,23,34,50。然後...

搜尋二維矩陣

二分查詢第一題 衝 先看題目 編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 例 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,60 target 3 輸出 true 我的解法 public boolean searchmatr...