1.二维数组查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:从右上角开始向左下角延伸,大就左移一列,小就下移一行,直到找到或遍历结束。
知识点:
vector是一个十分有用的容器,是一个能够存放任意类型的动态数组,能够增加和压缩数据。
class Solution { public: bool Find(int target, vector<vector<int> > array) { int i=0; int j=array[0].size()-1;//从右上角开始 while(i<array.size()&&j>=0){ //array.size()比行最大下标多1,目的就是范围在二维表内
if(array[i][j]==target) { return true; break; //找到就提前结束 } else if(array[i][j]>target){ --j; } else ++i; } return false; } };
vector动态装载数组大小,二维向量的定义
vector<vector<int> >vv(3, vector<int>(4)); //这里,两个“>”间的空格是不可少的
构造一个二维向量vv,它含有三个元素,每个元素含有4个int型元素的向量。
一维的大小:vec.size()
二维的行:vec.size() 注意是比行最大下标多1的
二维的列:vec[0].size() 注意是比列最大下标多1的
愿你保持清醒而时光无可虚度、

浙公网安备 33010602011771号