題目:在一個二維數組中,每一行從左到右遞增,每一列從上到下遞增,判斷數組中是否存在某個數字
思路:利用從左到右遞增,從上到下遞增的規律
從二位數組的最后一行的第一列開始,如果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