題目鏈接
排序矩陣查找
題目描述
注意點
- 每一行、每一列都按升序排列
解答思路
- 可以從右上角開始遍歷,如果當前元素就等于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;}
}
關鍵點
- 從矩陣右上角開始遍歷