74 搜尋二維矩陣 Leecode C

2021-09-05 03:55:12 字數 784 閱讀 3542

編寫乙個高效的演算法來判斷 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, 50]

]target = 13

輸出: false

題目要的是高效查詢演算法,而且這個二維陣列是有序的,很容易想到的二分查詢

但問題來了,二分查詢只是對一維陣列,那麼二維陣列呢?

其實只要找到二維陣列和一維陣列的對應關係即可

一維陣列怎麼和二維陣列對應呢?

假設已知一維陣列的下表為mid, 那麼m ×n二維陣列的座標為[mid / n][mid % n]

這樣就找到對應關係了,**直接按照二分查詢的改下就ok

class solution 

else

if(midvalue < target)

else

}return ret !=-1

;}};

74 搜尋二維矩陣

題目 編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 每行中的整數從左到右按公升序排列。每行的第乙個整數大於前一行的最後乙個整數。示例 1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,50 target 3 輸出 true 示...

74 搜尋二維矩陣

74.搜尋二維矩陣 author wsq date 2020 10 06 編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 每行中的整數從左到右按公升序排列。每行的第乙個整數大於前一行的最後乙個整數。示例 1 輸入 matrix 1,3,5,7 10,11,16...

74 搜尋二維矩陣

題目描述 編寫乙個高效的演算法來判斷m x n矩陣中,是否存在乙個目標值。該矩陣具有如下特性 示例1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,60 target 3 輸出 true 示例 2 輸入 matrix 1,3,5,7 10,11,16,20 23,30...