题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解:
class Solution { public : bool Find( int target, vector<vector< int > > array) { //2017-6-6-周二 //矩阵 //行,列 //从右上角开始遍历。需要循环。 //若大于值则行-- //若小于值则列++ //有点不规范,未考虑边界 bool res= false ; //如何判断vector二维数组为空 int m=array.size(); int n=array[ 0 ].size(); //vector向量部分不清清楚。 // while(m<(array.size()-1)&&n>=0) for ( int i= 0 ,j=n- 1 ;i<m&&j>= 0 ;) { if (array[i][j]==target) { res= true ; break ; } else if (array[i][j]<target) i=i+ 1 ; else j=j- 1 ; } return res; } };