劍指offer 二維陣列中的查詢

2021-09-22 19:31:23 字數 1112 閱讀 4507

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

思路一遍歷,強行求解,耗時較多

# -

*- coding:utf-8-

*-class

solution

: # array 二維列表

def find

(self, target, array)

: # write code here

for i in array:

for j in i:

if target == j:

return true

return false

思路二

題目中說到:該二維陣列由上到下、由左到右分別遞增

那麼選取左下角(右上角)的元素a[row][col]與target進行比較,

當target小於元素a[row][col]時,那麼target必定在元素a所在行的左邊,即col–

(當target大於元素a[row][col]時,那麼target必定在元素a所在列的下邊,即row++)

但其實也挺費時間……

# -

*- coding:utf-8-

*-class

solution

: # array 二維列表

def find

(self, target, array)

: # write code here

row =

len(array)-1

col=

len(array[0]

)-1 i = row

j =0while j<=col and i>=0:

if target[j]:

i -=

1 elif target>array[i]

[j]:

j +=

1else

:return true

return false

劍指offer 二維陣列中查詢

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

劍指offer 二維陣列中查詢

從今天開始每天一題,除了節假日。在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution return false class solut...

劍指offer 二維陣列中查詢

要求如下 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 示例如下 7,1,2,8,9 2,4,9,12 4,7,10,13 6,8,11,15 思路有三種,...