二维数组中的查找-python

题目:在一个二维数组中,每一行从左到右递增,每一列从上到下递增,判断数组中是否存在某个数字

思路:利用从左到右递增,从上到下递增的规律

从二位数组的最后一行的第一列开始,如果number比该位置的值大,则往上找,number比该位置的值小,往右找

def get_number(arr, number):
    if len(arr) == 0 and len(arr[0]) == 0:
        return False
    i = len(arr) - 1
    j = 0
    cols = len(arr[0]) - 1
    while i >= 0 and j <= cols:
        if number == arr[i][j]:
            return True
        elif number > arr[i][j]:
            j += 1
        else:
            i -= 1
    return False


if __name__ == '__main__':
    arr = [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13]]
    result = get_number(arr, 100)
    print result