劍指offer 面試題4 二維陣列中的查詢

2021-09-24 05:08:14 字數 1009 閱讀 8890

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

class solution:

def find(self,array,target):

# 判斷陣列是否為空

if array==:

return false

rawnum = len(array)

colnum = len(array[0])

# 判斷非法輸入,,注意牛客網沒有判斷非法輸入也可以通過

if type(target) == float and type(array[0][0]) == int:

if int(target) == target:

return false

target = int(target)

elif type(target) == int and type(array[0][0]) == float:

target = float(target)

elif type(target) != type(array[0][0]):

return false

i = colnum -1

# 從右上角開始查詢

j = 0

while i>=0 and jtarget:

# 最大列-1

i -= 1

else:

return true

return false

if __name__ == '__main__':

array = [[1, 2, 8, 9],

[2, 4, 9, 12],

[4, 7, 10, 13],

[6, 8, 11, 15]]

findtarget = solution()

print(findtarget.find(array, 10))

劍指offer面試題4 二維陣列的查詢

題目 二維陣列的查詢 在乙個二位陣列中,每一行都遞增,每一列的遞增,請完成乙個函式,查詢二維陣列中是否有number 方案 只需要每次從二維陣列的右上角開始查詢就可以了,因為如果右上角的數字都大於要查詢的number的話,那麼這一列肯定都大於number,我們只需要在剩下的列中找就行了,如果右上角的...

劍指offer面試題4 二維陣列中的查詢

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

劍指offer 面試題4 二維陣列中的查詢

思路 首先選取陣列中右上角的數字 如果該數字等於目標數字,則查詢過程結束 如果該數字大於目標數字,則刪除這個數字所在列 該列都大於目標數字 如果該數字小於目標數字,則刪除這個數字所在行 該行都小於目標數字 coding utf 8 class solution array 二維列表 def find...