劍指offer第一題:二維數組的查找(python)
阿新 • • 發佈:2019-04-28
一行 row and ont 整數 遞增 這樣的 subject turn
題目描述:
在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。思路:
應當從數組的左下角或右上角開始判斷,以左下角為例,若整數小於左下角數值,則最後一行不用考慮。若整數大於左下角數值,則第一列不用考慮。不斷縮小範圍。1 # -*- coding:utf-8 -*- 2 class Solution: 3 # array 二維列表 4 def Find(self, target, array):5 # write code here 6 rows = len(array) - 1 7 cols= len(array[0]) - 1 8 i = rows 9 j = 0 10 while j<=cols and i>=0: 11 if target<array[i][j]: 12 i -= 1 13 elif target>array[i][j]: 14 j += 1 15else: 16 return True 17 return False
劍指offer第一題:二維數組的查找(python)