题目
在一个二维数组中,每一行都是递增的,每一列也是递增的。请完成一个函数,判断数组中是否有这个数字。
思路
从右上元素开始,向左向下,可减小搜索范围。
bool Find(int target, vector<vector<int> > array) { if (array.size() == 0) return false; int rows = array.size(), cols = array[0].size(); int row = 0, col = cols - 1; while( row < rows && col >= 0) { if (array[row][col] == target) return true; (array[row][col] > target)? col--: row++; } return false; }