面试题4. 二维数组中的查找
思路一:按照剑指offer中的说明,我们每次都选取数组查找范围内的右上角数字。

这个思路是没错的,但是python2不支持切片操作,所以代码没通过!
思路2:思路依然和思路1一致,这时我不做切片处理

# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
#求行row,列column
row = len(array)
column = len(array[0])
# 思路:判断右上角的数字是否符合条件
i = 0
j = column-1
while i<row and j>=0:
if array[i][j] == target:
return True
elif array[i][j] > target:
#比目标大,剔除整列
j = j-1
else:
#比目标小,剔除整行
i = i+1
return False

浙公网安备 33010602011771号