C++
思路
class Solution {
public:
bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
int i = matrix.size()-1, j = 0;
while(i>=0 && j<matrix[0].size()){
if(matrix[i][j] < target) j++;
else if(matrix[i][j] > target) i--;
else return true;
}
return false;
}
};
Python
class Solution:
def findNumberIn2DArray(self, matrix: List[List[int]], target: int) -> bool:
i, j = len(matrix)-1, 0
while i>=0 and j<len(matrix[0]):
if matrix[i][j]>target: i-=1
elif matrix[i][j]<target: j+=1
else: return True
return False