題目:在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,
輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
題目:在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,
輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
思路:從右上角開始查詢, 如果該數字等於要查詢的數字,查詢結束
如果該數字大於要查詢的數字,說明當前列不可能存在這個數;
如果小於要查詢的數字, 說明當前行不可能存在這個數.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# created by xuehz on 2017/7/15
class
solution:
deffind
(self, array, target):
row = len(array)
column = len(array[0])
if row > 0
and column > 0:
x ,y = 0, column -1
#0,3 找到右上角的數字
while
0<= x and
0<= y < column:
if array[x][y] == target:
return
true
elif array[x][y] > target: # 說明當前列不會有這個數了
y -= 1
elif array[x][y] < target: # 說明當前行不會有這個數了
x += 1
return
false
deffind1
(self, array, target):
flag = false
# 借助於in
for index in range(len(array)):
if target in array[index]:
flag = true
return flag
if __name__ == '__main__':
array_ = [[1, 2, 8, 9],
[2, 4, 9, 12],
[4, 7, 10, 13],
[6, 8, 11, 15],
]s = solution()
print s.find1(array_, 7)
Python 劍指offer(1)二維陣列的查詢
題目 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。環境python2.7.3 解 coding utf 8 class solution array 二維...
劍指offer 1 二維陣列查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列是有序的,比如下面的資料 1 2 3 4 5 6 7 8 9可以直接利用左下角數字開始查詢 大於 比較...
劍指offer 1 二維陣列查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 首先是先模擬獲取隨機遞增陣列 public static int getarray int n,int m 初...