题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
题目分析
每个一维数组长度相同,也就是说列数都是一样的。那我们通过array.size()得到行数,再通过array[0].size()得到列数就行,这里的array[0]可以是0,1,2,3随便你,因为每行的列数都一样~
之后再用两个for循环遍历array就行,找到和target一样的数就返回true,遍历完了都没找到就返回false。
代码实现
这道例题默认只要实现Find函数内部功能就行,其它的啥#include啊using namespace啊不用管。
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int row = array.size();//获取行数
int lie=array[0].size();//获取列数
for (int i = 0; i < row; ++i) {
for (int j = 0; j < lie; ++j) {
if (array[i][j] == target) return true;//遍历二维数组,找到target就返回true
}
}
return false;//遍历完了,无功而返,false
}
};