题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解题思路:
r = 0, c = mat.column
设初始指针(r,c),那么mat[r][c] == target就退出,否则 若 mat[r][c]>target那么我们可以c--,否则r++。直到r,c越出边界为止.
class Solution {
public:
bool Find(int target, vector<vector<int> > arr) {
int r = arr.size();
int c = arr[0].size();
int poir = 0;
int poic = c-1;
int suc = 0;
while(poir>=0 && poir < r && poic>=0 && poic<c){
if(arr[poir][poic] == target){
suc = 1;
break;
}
if(arr[poir][poic]>target){
poic--;
}else poir++;
}
return suc;
}
};