搜尋二維矩陣 II

2022-09-15 09:21:14 字數 1580 閱讀 4454

現有矩陣 matrix 如下:

[

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

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

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

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

[18, 21, 23, 26, 30]

]

給定 target =5,返回true

給定 target =20,返回false

這道題本質上就是遍歷二維陣列,我們可以直接遍歷,但是由於陣列中的資料是存在規律的(下大於上、右大於左),所以我們可以根據其規律,對其進行類似於「剪枝」的操作。

這裡我們是從左下角開始遍歷的,即示例中的18。這樣遍歷的好處是,比18大的元素,都在其右側,比18小的元素,都在其上方。

如果從1開始遍歷,無論是下方元素,還是右側元素,都是大於1的。需要額外進行比較(比較下方和右側元素和target的大小)。

class

solution

if (matrix[0] == null || matrix[0].length == 0)

//確定邊界

int bottom = matrix.length - 1;

int right = matrix[0].length - 1;

//確定起點

#確定邊界

搜尋二維矩陣 II

搜尋二維矩陣 ii 寫出乙個高效的演算法來搜尋m n矩陣中的值,返回這個值出現的次數。這個矩陣具有以下特性 您在真實的面試中是否遇到過這個題?yes 樣例考慮下列矩陣 1,3,5,7 2,4,7,8 3,5,9,10 給出target 3 返回2 思路 行和列都是有序的,如果以右上角為起點來判斷大小...

搜尋二維矩陣 II

寫出乙個高效的演算法來搜尋m n矩陣中的值,返回這個值出現的次數。這個矩陣具有以下特性 樣例考慮下列矩陣 1,3,5,7 2,4,7,8 3,5,9,10 給出target 3 返回2 解題思路 遞增陣列,思路為從左下或者右上開始查詢。此題,我從左下開始查詢,第乙個為3,num 然後向上移動一行,去...

搜尋二維矩陣 II

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性 示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,14,17,24 18,21,23,26,30 給定 target 5...