题目:在一个二维数组中,每一行从左到右递增,每一列从上到下递增,判断数组中是否存在某个数字
思路:利用从左到右递增,从上到下递增的规律
从二位数组的最后一行的第一列开始,如果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