Posted onEdited onInLeetCodeDisqus: Symbols count in article: 420Reading time ≈1 mins.
O(log(mn)) time O(1) space
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
classSolution { public: boolsearchMatrix(vector<vector<int>>& matrix, int target){ if (matrix.empty() || matrix[0].empty()) returnfalse; int m = matrix.size(), n = matrix[0].size(), l = 0, r = m * n - 1; while (l <= r) { int m = l + (r - l) / 2; int x = matrix[m / n][m % n]; if (x == target) returntrue; if (x < target) { l = m + 1; } else { r = m - 1; } } returnfalse; } };