面試題04 二維陣列中的查詢

2021-10-04 05:50:09 字數 868 閱讀 4338

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

示例:現有矩陣 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。

限制:0 <= n <= 1000

0 <= m <= 1000

class solution:

def findnumberin2darray(self, matrix: list[list[int]], target: int) -> bool:

# 與左下角元素比較, 大於則消去一列, 小於則消去一行

if len(matrix) == 0:

return false

r, c = len(matrix), len(matrix[0])

i = r-1

j = 0

while (i<=r-1 and i >=0) and (j<=c-1 and j>=0):

if target == matrix[i][j]:

return true

elif target > matrix[i][j]:

j += 1

else:

i -= 1

return false

面試題 04 二維陣列中的查詢

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

面試題04 二維陣列中的查詢

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

面試題04 二維陣列中的查詢

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