sundeepblue
5/10/2014 - 8:53 PM

Search a 2D Matrix

Search a 2D Matrix

bool search_matrix(vector<vector<int>> &matrix, int target) {
    if(matrix.empty()) return false;
    int m = matrix.size(), n = matrix[0].size();
    if(target < matrix[0][0] || target > matrix[m-1][n-1]) return false;
    int r = 0, c = n-1;
    while(r < m && c >= 0) {
        if(target == matrix[r][c]) return true;
        else if(target < matrix[r][c]) c--;
        else r++;
    }
    return false;
}