Skip to content

Commit 7aaa1b5

Browse files
committed
add 0378 Solution for Java
1 parent 2898c76 commit 7aaa1b5

File tree

1 file changed

+34
-0
lines changed
  • solution/0300-0399/0378.Kth Smallest Element in a Sorted Matrix

1 file changed

+34
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class Solution {
2+
public int kthSmallest(int[][] matrix, int k) {
3+
int len = matrix.length;
4+
int min = matrix[0][0], max = matrix[len - 1][len - 1];
5+
while (min < max) {
6+
int mid = min + ((max - min) >> 1);
7+
if (check(matrix, mid, k, len)) {
8+
max = mid;
9+
} else {
10+
min = mid + 1;
11+
}
12+
}
13+
14+
return min;
15+
}
16+
17+
private boolean check(int[][] matrix, int mid, int k, int n) {
18+
// 从左下角走起
19+
int i = n - 1;
20+
int j = 0;
21+
int num = 0;
22+
23+
while (i >= 0 && j < n) {
24+
if (matrix[i][j] <= mid) {
25+
num += i + 1;
26+
j++;
27+
} else {
28+
i--;
29+
}
30+
}
31+
32+
return num >= k;
33+
}
34+
}

0 commit comments

Comments
 (0)