题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:先找最左下角的元素,如果该元素比目标数据小,继续往右找。如果数据比目标数据大,往上继续找。知道找到目标数据。
代码:
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int lenx = array.size();
int leny =array[0].size();
int i=lenx-1,j=0;
while(i>=0&&j<leny&&array[i][j]!=target)
{
if(array[i][j]<target) j++;
else i--;
}
if(i<0||j>=leny) return false;
else return true;
}
};