//题目: //在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
//如果用一维数组表示,则前提必须知道它的行数和列数
//如果用容器vector包含容器元素,即vector> array,则行数应表示为rowCount =array.size(),
列数表示为colCount = array[0].size()
C++ Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
class
Solution { public : bool Find( int target, vector<vector< int > > array) { int cols = array[ 0 ].size(); int rows = array.size(); bool result = false ; int i; int j; for (i = 0 , j = cols- 1 ; i <rows && j>= 0 ;) { if (target == array[i][j]) { result = true ; return result; } if (target < array[i][j]) { j--; continue ; } if (target> array[i][j]) { i++; continue ; } } return result; } }; |