題目描述:
在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
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 二維陣列查詢 馬上也要畢業開始找工作了,自己程式設計能力實屬弟弟,笨鳥先飛,雖然飛得好像也不早了,打算每天做一道吧,爭取暑假前做完。準備秋招了,目前就是在牛客網上做題為主 題目要求是這樣 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從...