剑指offer 66题 -- 二维数组的查找
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
//变量定义区
int colNum = array[0].size(); //列数目
int rowNum = array.size(); // 行数目
int moveCol = colNum-1;
int moveRow = 0;
//入参有效性判断
if(colNum <= 0 || rowNum <= 0)
return false;
//从右上角开始
while(moveCol >= 0 && moveRow < rowNum)
{
if(target == array[moveRow][moveCol])
return true;
else if(array[moveRow][moveCol] > target)
moveCol --;
else
moveRow ++;
}
return false;
}
};
程序已通过牛客网测试。