74. Search a 2D Matrix - Medium
前往題目
想法
- 之前做過,題目要求
O(log(m * n))
以為不能疊代整個矩陣,於是先用binary search
尋找target
可能在哪一行,然後再搜尋特定那一行 - 看了之前我的
submission
才發現其實可以,因為都用binary search
所以每行都檢查的話就符合題目要求的time complexity
思路
- 疊代每行
- 在每行binary search target
Code
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
final int M = matrix.length;
final int N = matrix[0].length;
for (int row = 0; row < M; ++row) {
int l = 0, r = N - 1;
while (l <= r) {
int mid = l + (r - l) / 2;
if (matrix[row][mid] == target) {
return true;
} else if (matrix[row][mid] < target) {
l = mid + 1;
} else {
r = mid - 1;
}
}
}
return false;
}
}
74. Search a 2D Matrix - Medium
https://f88083.github.io/2024/01/12/74-Search-a-2D-Matrix-Medium/