劍指offer JZ1(二維陣列中的查詢)

2021-10-25 17:23:21 字數 803 閱讀 8301

題目描述:

在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

示例1輸入

7, [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13], [6, 8, 11, 15]]

返回值true

暴力方法,直接比較相等

bool

find

(int target, vectorint>

> array)}}

if(flag==1)

return

true

;return

false

;}

二分查詢

bool

find

(int target, vectorint>

> array)

}return

false

;}

從左下角來看,向上數字遞減,向右數字遞增,

因此從左下角開始查詢,

當要查詢數字比左下角數字大時,右移

要查詢數字比左下角數字小時,上移

bool

find

(int target, vectorint>

> array)

else

}return

false

;}

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

在乙個二維整數中 每個一維整數的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序進行排序。請完成乙個函式,輸入這樣的乙個二維尺寸和乙個整數,判斷陣列中是否包含該整數。我們利用從左到向左向右,從上到下遞增。特點的 我們從左下角開始查詢。如果目標值大於當前值,值當前則向右移動...

劍指1 二維陣列中的查詢

題目 在乙個二維陣列中 每個一維陣列的維數都相同 每一行按照從左到右遞增的順序排列,每一列都按照從上到下遞增的順序排列。完成乙個函式,輸入乙個二維陣列和整數,判斷二維陣列中是否有該整數。思路 從右上角開始查詢,左邊比它小,右邊比它大.function find target,array if col...

1 劍指offer 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。兩種思路 一種是 把每一行看成有序遞增的陣列,利用二分查詢,通過遍歷每一行得到答案,時間複雜度是nlogn p...