二維陣列的查詢

2021-09-25 17:55:00 字數 671 閱讀 6695

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

按照二維陣列的規律,每一行從左向右依次增大,每一列從上到下依次增大。可以將第一行最後的元素array[i][j]與待查詢元素target進行比較,如果array[i][j] < target,則所要查詢的元素必在array[i][j]的下面,i+=1,反之,所要查詢的元素必在array[i][j]的左側,j-=1。如果找到就返回true,沒有找到,那麼返回false。

def array2find(target, array):

i = 0

j = len(array[0]) - 1

while i < len(array) and j > -1:

if array[i][j] < target:

i += 1

elif array[i][j] > target:

j -= 1

else:

return true

return false

array = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]

print(array2find(6, array))

二維陣列查詢

近日微博上看到乙個題目,二維陣列查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢...

二維陣列查詢

天氣變化大,生病折騰了1個禮拜,寫篇部落格壓壓驚。題目源自於清明假期前夕舍友春招的筆試題,後來得知是劍指offer上的一道題,書上應該有解題思路啥的。題目重述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,...

二維陣列查詢

題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請 完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解題思路 按照一般搜尋二維陣列的方法,從左到右,從上到下,比較難根據這個陣列的特點進行快速搜尋。可以從 右到左,從上到下,...