File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed
k-closest-points-to-origin Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,10 @@ leetcode 测试
10
10
11
11
##### 包含的内容如下
12
12
13
+ https://leetcode.cn/problems/find-k-closest-elements/
14
+
15
+ https://leetcode.cn/problems/k-closest-points-to-origin/
16
+
13
17
https://leetcode.cn/problems/make-two-arrays-equal-by-reversing-sub-arrays/
14
18
15
19
https://leetcode.cn/problems/transform-to-chessboard/
Original file line number Diff line number Diff line change
1
+ export default function findClosestElements (
2
+ arr : number [ ] ,
3
+ k : number ,
4
+ x : number ,
5
+ ) : number [ ] {
6
+ const size = ( arr ) . length ;
7
+ let left = 0 ;
8
+ let right = size - k ;
9
+
10
+ while ( left < right ) {
11
+ const mid = Math . floor (
12
+ ( left + right ) / 2 ,
13
+ ) ;
14
+ // # 尝试从长度为 k + 1 的连续子区间删除一个元素
15
+ // # 从而定位左区间端点的边界值
16
+
17
+ //x大于左右端点的平均值
18
+ if ( 2 * x > arr [ mid ] + arr [ mid + k ] ) {
19
+ //右移
20
+ left = mid + 1 ;
21
+ } else {
22
+ //左移
23
+ right = mid ;
24
+ }
25
+ }
26
+
27
+ return arr . slice ( left , left + k ) ;
28
+ }
Original file line number Diff line number Diff line change
1
+ export default function kClosest ( points : number [ ] [ ] , k : number ) : number [ ] [ ] {
2
+ return points . sort ( ( a , b ) => a [ 0 ] ** 2 + a [ 1 ] ** 2 - b [ 0 ] ** 2 - b [ 1 ] ** 2 )
3
+ . slice ( 0 , k ) ;
4
+ }
You can’t perform that action at this time.
0 commit comments