劍指offer 二維陣列查詢 1

2021-10-10 17:44:31 字數 2071 閱讀 5973

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

示例:輸入

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

true
c++版本

class

solution

for(

int i =

0; i < array.

size()

;i++)}

return

false;}

};

python版本

# -*- coding:utf-8 -*-

class

solution

:# array 二維列表

:# array 二維列表

deffind

(self, target, array)

:# write code here

ifnot array:

return

false

height =

len(array)

wide =

len(array[0]

) i =

0 j = wide-

1while i=0:

if array[i]

[j]==target:

return

true

elif array[i]

[j]>target:

j -=

1else

: i +=

1return

false

class

solution

int height = array.

size()

;int wide = array.

size()

;int i = height-1;

int j =0;

while

((j&&(i>=0)

)else

if(target>array[i]

[j])

else

i--;}

return

false;}

};

1 劍指offer 二維陣列查詢

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

二維陣列查詢(劍指offer)

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解法一 因為每一行都是遞增的,直接對每一行進行二分查詢即可。public class solution if ...

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列是有序的,比如下面的資料 1 2 3 4 5 6 7 8 9可以直接利用左下角數字開始查詢 大於 比較...