陣列 3 二維陣列中的查詢

2021-10-23 07:29:01 字數 934 閱讀 1194

# -*- coding:utf-8 -*-

class solution:

# array 二維列表

def find(self, target, array):

if len(array)==0 or len(array[0])==0:

return false

for i in range(len(array)):

for j in range(len(array)):

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

return true

return false

從右上角開始尋找,如果查詢數大於第k行最後乙個數,說明查詢的數比第k行的任何乙個數都大,所以進入下一行查詢;倘若找到某p行,發現第p行的最後一列的數要大於查詢的數,那麼說明該數可能存在於p行,現有兩種可能:1、找到並返回;2、沒找到,則進入第p+1行

時間o(m+n),空間o(1)

# -*- coding:utf-8 -*-

class solution:

# array 二維列表

def find(self, target, array):

if not array:

return false

rows, columns = len(array), len(array[0])

r = 0

c = columns - 1

while (r < rows and c >= 0):

if array[r][c] == target:

return true

elif array[r][c] >= target:

c -= 1

else:

r += 1

return false

3 二維陣列中的查詢

參考 二分查詢方法 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。方法一 劍指offer中提供的方法 如果我們從左上角開始查詢,那麼當查詢元素比左上元素大時,無法判斷是應該向下 向...

3)二維陣列中的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 這個題目相對前面三題比較簡單,假設該二維陣列為下圖 a 主要是思路上面過去,實現起來挺簡單的,下面我介紹一下實現思路,有種...

3 二維陣列中的查詢

題目描述 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解析 取二維陣列的右上方的頂點與要找的數字比較,如果要找的數字比頂點的數字小,那麼捨棄該列 colu...