c++解法

二维数组中的查找

http://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e

1、暴力法

    class Solution {
    public:
    bool Find(int target, vector<vector<int> > array) {
        for(int i = 0;i<array.size();++i)
        {
            for(int j = 0;j<array[0].size();++j)
            {
                if(array[i][j]==target)
                    return true;
            }
        }
        return false;
    }
};

2、根据数组规律

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        int columns = array[0].size();
        int rows = array.size();
        int row = 0,column = columns-1;
        while(row<rows&&column>=0)
        {
            if(array[row][column]==target)
                return true;
            if(array[row][column]>target)
                 --column;
            else
                ++row;
        }
        return false;
    }
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务