File tree Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,8 @@ leetcode 测试
10
10
11
11
##### 包含的内容如下
12
12
13
+ https://leetcode.cn/problems/ZbAuEH/
14
+
13
15
https://leetcode.cn/problems/network-delay-time/
14
16
15
17
https://leetcode.cn/problems/maximum-number-of-pairs-in-array/
Original file line number Diff line number Diff line change
1
+ function getMaximumNumber ( moles : number [ ] [ ] ) : number {
2
+ moles . sort ( ( a , b ) => a [ 0 ] - b [ 0 ] ) ;
3
+ let first = 0 ;
4
+
5
+ let res = 0 ;
6
+ while ( moles . length ) {
7
+ const [ t , x , y ] = moles [ 0 ] ;
8
+
9
+ if ( t === 0 ) {
10
+ if ( y === 1 && x == 1 ) first ++ ;
11
+ moles . shift ( ) ;
12
+ } else break ;
13
+ }
14
+
15
+ moles = [ [ 0 , 1 , 1 ] , ...moles ] ;
16
+ const len = moles . length ;
17
+ const dp = Array ( len ) . fill ( 0 ) . map ( ( ) => [ 0 , 0 ] ) ;
18
+ for ( let i = 1 ; i < len ; i ++ ) {
19
+ const [ t , x , y ] = moles [ i ] ;
20
+ dp [ i ] [ 0 ] = Math . max ( dp [ i - 1 ] [ 0 ] , dp [ i - 1 ] [ 1 ] ) ;
21
+ for ( let cnt = 0 , j = i - 1 ; cnt < 10 && j >= 0 ; j -- , cnt ++ ) {
22
+ if (
23
+ Math . abs ( x - moles [ j ] [ 1 ] ) + Math . abs ( y - moles [ j ] [ 2 ] ) <=
24
+ t - moles [ j ] [ 0 ]
25
+ ) {
26
+ dp [ i ] [ 1 ] = Math . max ( dp [ i ] [ 1 ] , dp [ j ] [ 1 ] + 1 ) ;
27
+ }
28
+ }
29
+ res = Math . max ( res , dp [ i ] [ 0 ] , dp [ i ] [ 1 ] ) ;
30
+ }
31
+ return res + first ;
32
+ }
33
+ export default getMaximumNumber ;
You can’t perform that action at this time.
0 commit comments