class Solution {
public:
bool searchMatrix(vector<vector<int> > &matrix, int target) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int m = matrix.size();
int n = matrix[0].size();
/*for (int i=m-1; i>=0; i--) {
for (int j=n-1; j>=0; j--) {
if (matrix[i][j] > target) {
i--;
}
}
}*/
int i=0, j=n-1;
while(i<m && j>=0) {
if (target>matrix[i][j]) {
i++;
} else if (target< matrix[i][j]) {
j--;
} else {
return true;
}
}
return false;
}
};
public:
bool searchMatrix(vector<vector<int> > &matrix, int target) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int m = matrix.size();
int n = matrix[0].size();
/*for (int i=m-1; i>=0; i--) {
for (int j=n-1; j>=0; j--) {
if (matrix[i][j] > target) {
i--;
}
}
}*/
int i=0, j=n-1;
while(i<m && j>=0) {
if (target>matrix[i][j]) {
i++;
} else if (target< matrix[i][j]) {
j--;
} else {
return true;
}
}
return false;
}
};