LeetCode 74. 搜索二维矩阵

74. 搜索二维矩阵

解题思路

将二维矩阵按行优先平铺视为一维有序数组,直接对整体做二分查找,通过「行=mid/列数,列=mid%列数」映射回二维坐标比较,找到目标返回true

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int m = matrix.length;
int n = matrix[0].length;

int left = 0;
int right = m * n - 1;
while(left <= right) {
// 按照一维数组处理
int mid = left + (right - left) / 2;
// 坐标映射(一维 → 二维)
int num = matrix[mid / n][mid % n];
if(num < target) {
left = mid + 1;
} else {
right = mid - 1;
}
if(num == target) {
return true;
}
}
return false;
}
}

LeetCode 74. 搜索二维矩阵
https://sowink.cn/2026/02/08/LeetCode-74-搜索二维矩阵/
作者
Xurx
发布于
2026年2月8日
许可协议