class Solution: def searchMatrix(self, matrix, target): """ :type matrix: List[List[int]] :type target: int :rtype: bool """ #print(len(matrix))#行数 #print(matrix[0]) #print(len(matrix[0]))#列数 if len(matrix)==1: if target in matrix[0]: return True else: return False for i in range(len(matrix)): #print(matrix[i]) if matrix[i][-1]<target: i+=1 else: if target in matrix[i]: return True else: return False
执行用时80ms
——2019.9.29
public boolean searchMatrix(int[][] matrix, int target) { int m = matrix.length; //m为行数 if(m == 0){ return false; } int n = matrix[0].length; //n为列数 //先找到对应行,再在该行进行二分查找 if(n == 0){ return false; } int i = 0; while(i<m){ if(matrix[i][n-1] == target){ return true; }else if(matrix[i][n-1] < target){ i++; }else{ //对第i行进行搜索 int left = 0,right = n; while(left<right){ int mid = left + (right - left)/2; if(matrix[i][mid] == target){ return true; }else if(matrix[i][mid] > target){ right = mid; }else{ left = mid+1; } } return false; } } return false; }
顺利完成
——2020.7.15