二维数组中的查找

来源:互联网 发布:中信证券开户交易软件 编辑:程序博客网 时间:2024/06/16 20:40

题目概述

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

分析

从右上角的数字开始检测,如果最右上角的数A大于要检测的数,则A所在的列删除。否则,A所在的行可以删除。

我的提交

class Solution {public:    bool Find(int target, vector<vector<int> > array) {        if(array.size() <= 0)            return false;        bool found = 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){                found = true;                break;            }            else if(array[row][col] > target)                --col;            else                ++row;        }        return found;    }};
0 0