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 > &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;

}

};

 

查看原文