We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2898c76 commit 7aaa1b5Copy full SHA for 7aaa1b5
solution/0300-0399/0378.Kth Smallest Element in a Sorted Matrix/Solution.java
@@ -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
28
+ i--;
29
30
31
32
+ return num >= k;
33
34
+}
0 commit comments