二维数组的查找
········································································································································································
直觉想法:
暴力找,从最左开始,直到找到target输出true,没找到直接false.
后面发现无法判断target位置,因为从左往右和从上往下都是递增,需要找一个位置某个方向是递增,某个方向是递减,这样才可以进行遍历,本人就选了最右的位置(事实上左下的位置也可以)。
talk is cheap,show me the code.
// An highlighted block
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int row = (int)array.size();
int col = (int)array[0].size();
if(row==0&&col==0)
return false;
int i=0;
int j=col-1;
while(i<row&&j>=0)
{
if(target==array[i][j])
return true;
else if(target>array[i][j])
i++;
else if(target<array[i][j])
j--;
}
return false;
}
};