法1
时间复杂度:O(N^2)
空间复杂度:O(1)
# # 寻找目标是否在二维数组内 # @param array int整型二维数组 二维数组 # @param target int整型 目标值 # @return bool布尔型 # class Solution: def Find(self , array , target ): # write code here for row in array: for item in row: if item == target: return True return False
法2
时间复杂度:O(a+b), a b分别为array的行数 列数
空间复杂度:O(1)
# 寻找目标是否在二维数组内 # @param array int整型二维数组 二维数组 # @param target int整型 目标值 # @return bool布尔型 # class Solution: def Find(self , array , target ): # write code here i = 0 j = len(array[0])-1 visit = 0 while(1): if target == array[i][j]: return True if target < array[i][j]: j -= 1 if target > array[i][j]: i += 1 if i == len(array)-1 and j == 0: return False