Skip to content

Commit e7273a0

Browse files
committed
https://leetcode.cn/problems/kth-smallest-element-in-a-sorted-matrix/
1 parent b8c9202 commit e7273a0

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ leetcode 测试
1010

1111
##### 包含的内容如下
1212

13+
https://leetcode.cn/problems/kth-smallest-element-in-a-sorted-matrix/
14+
1315
https://leetcode.cn/problems/find-k-pairs-with-smallest-sums
1416

1517
https://leetcode.cn/problems/compare-version-numbers
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
export default function kthSmallest(matrix: number[][], k: number): number {
2+
const n = matrix.length;
3+
let left = matrix[0][0];
4+
let right = matrix[n - 1][n - 1];
5+
while (left < right) {
6+
const mid = left + ((right - left) >> 1);
7+
if (check(matrix, mid, k, n)) {
8+
right = mid;
9+
} else {
10+
left = mid + 1;
11+
}
12+
}
13+
return left;
14+
}
15+
16+
function check(matrix: number[][], mid: number, k: number, n: number) {
17+
let i = n - 1;
18+
let j = 0;
19+
let num = 0;
20+
while (i >= 0 && j < n) {
21+
if (matrix[i][j] <= mid) {
22+
num += i + 1;
23+
j++;
24+
} else {
25+
i--;
26+
}
27+
}
28+
return num >= k;
29+
}

0 commit comments

Comments
 (0)