1. 程式人生 > >劍指offer第一題:二維數組的查找(python)

劍指offer第一題:二維數組的查找(python)

一行 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 15
else: 16 return True 17 return False

劍指offer第一題:二維數組的查找(python)