Kth Smallest Element in a Sorted Matrix
Thoughts
Code
class Solution {
public int kthSmallest(int[][] matrix, int k) {
int start = matrix[0][0], end = matrix[matrix.length - 1][matrix[0].length - 1];
while (start < end) {
int mid = start + (end - start) / 2;
int count = 0;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
count = matrix[i][j] <= mid ? count + 1 : count;
}
}
if (count < k) {
start = mid + 1;
} else {
end = mid;
}
}
return start;
}
}Analysis
Last updated