二维数组中的查找
题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
1 bool Find(vector<vector<int> > array,int target) { 2 //循环比较target和矩阵最后一行数据的大小,当target<array[array.size()-1][j++],循环遍历那一列, 3 //当找到=target就return true 4 //当array[i--][j]<target,跳出循环 5 for(int j=0;j<array[array.size()-1].size();j++) 6 { 7 if(target<=array[array.size()-1][j]) 8 { 9 for(int i=array.size()-1;i>=0;i--) 10 { 11 if(array[i][j]==target) 12 return true; 13 if(array[i][j]<target) 14 break; 15 } 16 } 17 18 } 19 return false; 20 }