7-剑指offer: 二维数组中的查找

题目描述

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

代码:

// 从左下角开始查找,向右变大,向上变小,和一位数组从左右两端开始一样
class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
       int rows = array.size();
       if (rows == 0 ) return false;
       int cols = array[0].size();
        
       int i=rows-1, j=0;
       while(i>=0 && j<cols) {
           if (array[i][j] == target)
               return true;
           else if (array[i][j] > target)
               i--;
           else
               j++;
       }
       
        return false;
    }
};


posted @ 2019-05-21 13:23  星星,风,阳光  阅读(88)  评论(0编辑  收藏  举报