知識點:陣列,二分查詢;編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性:
每行中的整數從左到右按公升序排列。
每行的第乙個整數大於前一行的最後乙個整數。
示例link
輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
輸出:true
輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
輸出:false
這個二維陣列是是有序的,想象一下,將其扁平化後就是乙個有序的一維陣列,就能使用二分查詢了,所以可以想象乙個一維陣列,仍然和原來一樣不斷求中間值,只不過我們將中間值轉化為二維陣列的索引就可以了,
link
class solution else if(matrix[x][y] > target)else
}return false;
}}
搜尋二維矩陣 LeetCode74 搜尋二維矩陣
題目大意 要求在乙個二維矩陣中搜尋乙個數,要求是時間盡可能少。說明 二維矩陣是從左到右,從上到下依次增大的。題目分析 本題如果用挨個遍歷的話,顯然沒有利用上矩陣中的有序關係。我的做法是 將target的值與每行的最後乙個數進行比較,若最後乙個數小於target,那麼還要往下搜尋,將搜尋的行邊界的上界...
leetcode 74 搜尋二維矩陣
編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 示例 1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,50 target 3輸出 true示例 2 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,...
Leetcode 74 搜尋二維矩陣
編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 示例 1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,50 target 3輸出 true示例 2 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,...