LeetCode74 搜尋二維矩陣

2021-08-21 09:18:44 字數 493 閱讀 9974

題目大意:要求在乙個二維矩陣中搜尋乙個數,要求是時間盡可能少。說明:二維矩陣是從左到右,從上到下依次增大的。

題目分析:本題如果用挨個遍歷的話,顯然沒有利用上矩陣中的有序關係。我的做法是:將target的值與每行的最後乙個數進行比較,若最後乙個數小於target,那麼還要往下搜尋,將搜尋的行邊界的上界x設為下一行的下標;反之,將行邊界的下界y設為當前行,並退出迴圈。

最後,若x改變了,表示target大於第一行所有的值,但是此時y=0,表示y還沒改動過,也就是target的值大於最後一行的最後乙個值,也就是矩陣中沒有這個元素。其他情況下,迴圈結束後的x和y的值都是相等的。

**展示:

class solution 

else

return true;

}if(x!=0 && y==0)

return false;

for(int i=0;ireturn false;

}};

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,...

leetcode74 搜尋二維矩陣

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