# Medium
Find possible row, then apply binary search
Consider edge case
// Some code class Solution { public boolean searchMatrix(int[][] matrix, int target) { int row = 0; for(; row < matrix.length; row ++) { int temp = matrix[row][0]; if(temp == target) return true; else if(temp > target) break; } row = row == 0? 0: row - 1; int left = 0, right = matrix[row].length - 1, temp; while(left <= right) { int mid = left + (right - left)/2; temp = matrix[row][mid]; if(temp == target) return true; else if(temp < target) left = mid + 1; else right = mid - 1; } return false; } }
Last updated 3 years ago
Was this helpful?