74 Search a 2D Matrix
1. Question
[
[1, 3, 5, 7],
[10, 11, 16, 20],
[23, 30, 34, 50]
]2. Implementation
3. Time & Space Complexity
Last updated
[
[1, 3, 5, 7],
[10, 11, 16, 20],
[23, 30, 34, 50]
]Last updated
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
if (matrix == null || matrix.length == 0) {
return false;
}
int m = matrix.length, n = matrix[0].length;
int start = 0, end = m * n - 1, mid = 0;
while (start <= end) {
mid = start + (end - start) / 2;
int row = mid / n;
int col = mid % n;
if (matrix[row][col] == target) {
return true;
}
else if (matrix[row][col] < target) {
start = mid + 1;
}
else {
end = mid - 1;
}
}
return false;
}
}