题目
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
总结:1.从右上角开始
array.size是行数 array[0].size 是列数,写题时分不清数组的行列(直接定义成中文),判断时双等号写成等号,写题时第一步判断非空
二维数组本质是a[m][n] m个含有n个元素的一维数组
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
if(array.size()!=0){
int hang = 0;
int lie = array[0].size()-1;
while (hang<array.size()&& lie>=0){
if (array[hang][lie]==target)
return true;
else if (array[hang][lie]>target)
--lie;
else
++hang;
}
}
return false ;
}
};
博客围绕在二维数组中查找整数展开。该二维数组每行从左到右、每列从上到下递增排序。介绍解题从右上角开始,还指出写题时易混淆数组行列、将判断双等号写成等号等问题,强调第一步要判断非空,说明了二维数组本质。


被折叠的 条评论
为什么被折叠?



