劍指Offer 1 二維陣列的查詢

2021-08-08 04:40:47 字數 808 閱讀 6811

題目描述:

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

python**實現:

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

class solution:

# array 二維列表

def find(self, target, array):

# write code here

if len(array) == 0:

return false

row = len(array)

col = len(array[0])

i = 0

j = col -1

while i < row and j >= 0:

if array[i][j] > target:

j -= 1

elif array[i][j] < target:

i += 1

else:

return true

return false

解析:因為陣列是橫向和縱向遞增的,因此查詢時不需要蠻力查詢

1  2  3  4  5

3  4  5  7  8

4  5  6  8  9

7  8  9 10 11

可以從右上角開始比較,假設要找的數字是6,先與右上角的5比較,5比6小,因此向下一行;8比6大,因此向左一列;7比6大,因此向左一列;5比6小,因此向下一行;6=6,返回true

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列是有序的,比如下面的資料 1 2 3 4 5 6 7 8 9可以直接利用左下角數字開始查詢 大於 比較...

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 首先是先模擬獲取隨機遞增陣列 public static int getarray int n,int m 初...

劍指Offer 1 二維陣列查詢

劍指offer 1 二維陣列查詢 馬上也要畢業開始找工作了,自己程式設計能力實屬弟弟,笨鳥先飛,雖然飛得好像也不早了,打算每天做一道吧,爭取暑假前做完。準備秋招了,目前就是在牛客網上做題為主 題目要求是這樣 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從...