劍指Offer 04 二維陣列中的查詢

2021-10-19 18:30:03 字數 878 閱讀 9587

非預期解法

/**

* @param matrix

* @param target

* @return

*/var

findnumberin2darray

=function

(matrix, target)

}return

false;}

;

給二維陣列平坦化,然後遍歷找目標(這裡我忘了.includes()函式了)

執行速度極慢,並沒有體現演算法思維、

螃蟹走法

/**

* @param matrix

* @param target

* @return

*/var

findnumberin2darray

=function

(matrix, target)

else

if(matrix[r]

[c]>target)

else

}return

false;}

else

return

false;}

;

這是書上的思路,從右上角開始走,若大於目標值,就排除掉該列,往左走乙個,若小於目標值,即排除掉該行,往下走一列,直到走完或找到目標為止。

不要忘記判斷空陣列的條件

時間複雜度

o(m+n)

空間複雜度

o(1)

劍指offer04 二維陣列查詢

在乙個 n m 的二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。測試示例 矩陣 matrix 如下 begin 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 ...

劍指Offer04 二維陣列中的查詢

在乙個 n m 的二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個高效的函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,1...

劍指 Offer 04 二維陣列中的查詢

在乙個 n m 的二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。遍歷陣列 時間複雜度 o nm 空間複雜度o 1 從二維陣列的右上角開始查詢。如果當前元素等於目標值,則返回 true。如...