LintCode 炼码
class Solution {public: /** * @param matrix: matrix, a list of lists of integers * @param target: An integer * @return: a boolean, indicate whether matrix contains target */ bool searchMatrix(vector<vector> &matrix, int target) { // write your code here if (matrix.size() <= 0 || matrix[0].size() <= 0) { return false; } int left = 0; int right = matrix.size() * matrix[0].size()-1; auto get_val = [&matrix](int index) { int row = index / matrix[0].size(); int col = index % matrix[0].size(); return matrix[row][col]; }; while (left + 1 target) { right = mid; } else { left = mid; } } if (get_val(left) == target) { return true; } if (get_val(right) == target) { return true; } return false; }};