【剑指offer】4、二维数组中的查找

题目

在一个二维数组中,每一行都是递增的,每一列也是递增的。请完成一个函数,判断数组中是否有这个数字。

思路

从右上元素开始,向左向下,可减小搜索范围。

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;
}    

猜你喜欢

转载自www.cnblogs.com/shiganquan/p/9281617.html