题目链接
排序矩阵查找
题目描述
注意点
- 每一行、每一列都按升序排列
解答思路
- 可以从右上角开始遍历,如果当前元素就等于target,直接返回true;如果当前元素小于target,则target肯定在当前位置下方;如果当前元素大于target,则target肯定在当前位置左方
代码
class Solution {public boolean searchMatrix(int[][] matrix, int target) {if (matrix.length == 0) {return false;}int row = matrix.length;int col = matrix[0].length;int x = 0, y = col - 1;while (x >= 0 && x < row && y >= 0 && y < col) {if (matrix[x][y] == target) {return true;}if (matrix[x][y] > target) {y--;} else {x++;}}return false;}
}
关键点
- 从矩阵右上角开始遍历