解题思路:采用循环,首先从第i行第0列的值开始搜索,接着使用while循环,同时内嵌while循环,如果不能够找到target的值,就返回false,否则返回true。
源代码:
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target)
{
int i=matrix.size()-1,j=0; //开始的格子 matrix[i][0]
while(i>=0&&j<matrix[0].size()&&target!=matrix[i][j])
{
while(i>=0 && j<matrix[0].size() && target<matrix[i][j]) --i;
while(i>=0 && j<matrix[0].size() && target>matrix[i][j]) ++j;
}
if(i<0 || j>=matrix[0].size()) return false;
return true;
}
};
运行结果: