No.1 二维数组中的查找

陌路散爱 提交于 2020-01-23 22:18:26

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

思路

牛客网中是用一个嵌套的向量表示的,这样更加的直观。从右上角开始考虑,如果目标比右上角的要小,那么排除这一列;如果目标比右上角的大,那么排除这一行;

代码

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        int row = array.size(); // 行
        int column = array[0].size(); //列
        int x = 0,y=column-1;
        while(y>=0 &&  x<column){
            if(target == array[x][y]) return true;
            else if(target <array[x][y]) y--;
            else x++;
       }
        return false;
    }
    
};
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!