[CareerCup] 11.6 Search a 2D Matrix 搜索一个二维矩阵

 

11.6 Given an M x N matrix in which each row and each column is sorted in ascending order, write a method to find an element.

 

LeetCode上的原题,请参见我之前的博客Search a 2D Matrix 搜索一个二维矩阵Search a 2D Matrix II 搜索一个二维矩阵之二

 

class Solution {
public:
    bool findElement(vector<vector<int> > &matrix, int elem) {
        if (matrix.empty() || matrix[0].empty()) return false;
        int row = 0, col = matrix[0].size() - 1;
        while (row < matrix.size() && col >= 0) {
            if (matrix[row][col] == elem) return true;
            else if (matrix[row][col] < elem) ++row;
            else --col;
        }
        return false;
    }
};

 

posted @ 2015-10-18 10:03  Grandyang  阅读(549)  评论(0编辑  收藏  举报
Fork me on GitHub