class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
if(array.size() == 0)
{
return false;
}
else
{
int i = 0;
int j = array[0].size() - 1;
while((i < array.size())&&(j >= 0))
{
if(target == array[i][j])
{
return true;
}
else if(target > array[i][j])
{
i++;
}
else
{
j--;
}
}
return false;
}
}
};
这一题的关注点就在于从横向来看数值是递增的,从竖直方向里看数值也是递增的。目标数小了就像下走一行,目标数打了就向左走一列。