public boolean searchMatrix(int[][] matrix, int target) { if(matrix == null || matrix.length == 0) return false; if(matrix[0] == null || matrix[0].length == 0) return false; int m = matrix.length; int n = matrix[0].length; int row = -1; for(int i=0;i<m;i++){ // find which line if(matrix[i][0] <= target && matrix[i][n - 1] >= target){ row = i; break; } } if(row == -1) return false; // loop through that line for(int i=0;i<n;i++){ if(matrix[row][i] == target){ return true; } } return false; }
[LintCode] 28. Search a 2D Matrix
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=325506689&siteId=291194637
Recommended
Ranking