二維陣列查詢python實現

2021-08-20 23:46:35 字數 732 閱讀 9175

二維陣列查詢——劍指offer經典面試題

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

比較最右邊一列第乙個元素array[max][0]與目標數字k大小,存在以下三種情況:

(1) array[max][0]=k    查詢到目標數字,返回true

(2) array[max][0]>k    該列最小元素比k大,排除最右列元素

(3) array[max][0]

def find(target, array):

h=len(array)

w=len(array[0])

hi=0

wi=w-1

while hi0:

if array[hi][wi]==target:

return true

elif array[hi][wi]>target:

wi=wi-1

else:

hi=hi+1

return false

a=[[1, 5, 8, 11],

[3, 7, 9, 12],

[6, 12,13,15],

[14,16,17,19]]

print(find(10,a))

print(find(13,a))

二維陣列中的查詢 python實現

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution array 二維列表 deffind self,target,array write code here...

二維陣列查詢 js實現

分析 陣列中任意找乙個數,它的左邊都小於它,它的下邊都大於它。如果要找的數 target 大於這個數,那就向下找 小於這個數就向左找。那麼我們應該取哪個數與target做比較呢?首先我們先想到是陣列四個角的數,第乙個數和最後乙個數都不行 因為他們右下或左上與它們的關係是一樣的,要麼都大於它,要麼都小...

3二維陣列查詢python

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 1 從右上角開始 2 如果該元素大於target,則向左移一位 3 如果該元素小於target,則向下移一位 array 二維列...