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