/*
有特殊的两个点 左下角和右上角 这两个点的特殊在于 从这两个点出发只有两个方向可以走 而且两个方向分别为大于或者小于;
所以 选择左下角开始 如果target 小于他 那就往上走 如果大于 就往右 直到得到结果或者出界;
*/
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return false;
int r = matrix.length, c = matrix[0].length;
int x = r - 1, y = 0;
while(x >= 0 && x < r && y >= 0 && y < c) {
if(matrix[x][y] == target) {
return true;
} else if(matrix[x][y] < target) {
y++;
} else {
x--;
}
}
return false;
}
}
Search a 2D Matrix II leetcode java 走地牙
最新推荐文章于 2020-12-08 09:37:32 发布