Merge 205a1532da4a3e0973ce6149568d31c9e5d6d59a into b70121d377cb6005eb65f12b098cd5decd905669

This commit is contained in:
lichaoxi 2023-09-06 06:12:52 +08:00 committed by GitHub
commit 26bbad49e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -146,20 +146,26 @@ return 13.
```java ```java
public int kthSmallest(int[][] matrix, int k) { public int kthSmallest(int[][] matrix, int k) {
int m = matrix.length, n = matrix[0].length; int n = matrix.length;
int lo = matrix[0][0], hi = matrix[m - 1][n - 1]; int low = matrix[0][0], high = matrix[n-1][n-1];
while (lo <= hi) { while (low < high) {
int mid = lo + (hi - lo) / 2; int mid = (low + high) >> 1;
int cnt = 0; int count = 0;
for (int i = 0; i < m; i++) { for (int i = 0, j = n - 1; i < n && j >= 0;) {
for (int j = 0; j < n && matrix[i][j] <= mid; j++) { if (matrix[i][j] <= mid) {
cnt++; count += j + 1;
i++;
} else {
j--;
} }
} }
if (cnt < k) lo = mid + 1; if (count < k) {
else hi = mid - 1; low = mid + 1;
} else {
high = mid;
} }
return lo; }
return high;
} }
``` ```