1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public boolean searchMatrix(int[][] matrix, int target) { int m = matrix.length, n = matrix[0].length;
int i = 0, j = m * n - 1; while (i <= j) { int mid = (i + j) >> 1; int midVal = matrix[mid / n][mid % n]; if (target < midVal) { j = mid - 1; } else if (target > midVal) { i = mid + 1; } else { return true; } }
return false; } }
|