面试题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

  

posted @ 2019-07-15 16:31  lililili——  阅读(222)  评论(0)    收藏  举报