240. 搜索二维矩阵||
参考题解:https://leetcode.cn/problems/search-a-2d-matrix-ii/solutions/2361487/240-sou-suo-er-wei-ju-zhen-iitan-xin-qin-7mtf
将矩阵旋转45度,可以看作一个二叉搜索树。
假设以左下角元素为根结点,
- 当
target
比root
大的时候,则舍弃当前列,右移一列; - 当
target
比root
小的时候,则舍弃当前行,上移一行; - 否则,两者相等,返回
true
。
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int i = matrix.length - 1, j = 0;
while (i >= 0 && j < matrix[0].length) {
int root = matrix[i][j];
if (root > target) i--;
else if (root < target) j++;
else return true;
}
return false;
}
}