美文网首页
剑指offer-01-二维数组中的查找

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

作者: Buyun0 | 来源:发表于2018-08-06 22:36 被阅读0次

    二维数组中的查找

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

    思路:从左下角开始找,因为如果比左下角大的都在右边,比他小的都在他上面。

    class Solution {
    public:
        bool Find(int target, vector<vector<int> > array) {
            
            int rows = array.size();
            int cols = array[0].size();
            int i = rows - 1, j = 0;
    
            while(i>=0 && j<cols){//使其不超出数组范围
                if(target<array[i][j])
                    i--;//查找的元素较少,往上找
                else if(target>array[i][j])
                    j++;//查找元素较大,往右找
                else
                    return true;//找到
            }
    
        
    
            return false;
        }
    };
    

    相关文章

      网友评论

          本文标题:剑指offer-01-二维数组中的查找

          本文链接:https://www.haomeiwen.com/subject/anknvftx.html