1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| c++ https: lower_bound( begin,end,num)
upper_bound( begin,end,num) class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix[0].empty()) return false; int col[10005]; int col_num = matrix.size(); int row_num = matrix[0].size(); if(matrix[0][0] > target || matrix[col_num-1][row_num-1] < target) return false; for(int i=0;i<col_num;i++) col[i] = matrix[i][0]; int line = upper_bound(col, col+col_num, target) - col; line--; return binary_search(matrix[line].begin(), matrix[line].end(), target); } };
|