LeetCode C 搜尋二維矩陣 II

2021-10-05 21:39:14 字數 863 閱讀 7300

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

示例:

現有矩陣 matrix 如下:

[\quad

[1, 4, 7, 11, 15],

\quad

[2, 5, 8, 12, 19],

\quad

[3, 6, 9, 16, 22],

\quad

[10, 13, 14, 17, 24],

\quad

[18, 21, 23, 26, 30]

]給定 target = 5,返回 true。

給定 target = 20,返回 false。

思路:

從矩陣的負對角(左下角,右上角)開始搜尋,直至邊界:

例如從左下角開始搜尋,

**:

bool

searchmatrix

(vector

int>>

& matrix,

int target)

else

if(matrix[i]

[j]else

if(matrix[i]

[j]>target)

}return

false

;}

結果:

擴充套件:

你可以試試從右上角開始搜尋。

搜尋二維矩陣

寫出乙個高效的演算法來搜尋 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...