File tree Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -19,10 +19,16 @@ describe('0045. Jump Game II', () => {
19
19
} ,
20
20
output : 2 ,
21
21
} ,
22
+ {
23
+ input : {
24
+ nums : [ 1 , 1 , 1 , 1 , 1 ] ,
25
+ } ,
26
+ output : 4 ,
27
+ } ,
22
28
] ;
23
29
24
30
test . each ( testCases ) ( 'Case %#' , ( { input : { nums } , output } ) => {
25
- const relsult = jump ( nums ) ;
31
+ const result = jump ( nums ) ;
26
32
expect ( result ) . toStrictEqual ( output ) ;
27
33
} ) ;
28
34
} ) ;
Original file line number Diff line number Diff line change 1
- function jump ( nums : number [ ] ) : number { }
1
+ function jump ( nums : number [ ] ) : number {
2
+ let result = 0 ;
3
+ let availableSteps = 0 ;
4
+ let currentIndex = 0 ;
5
+ for ( let i = 0 ; i < nums . length - 1 ; i ++ ) {
6
+ if ( nums . length - 1 <= i + nums [ i ] ) {
7
+ return result + 1 ;
8
+ }
9
+ availableSteps = Math . max ( availableSteps , nums [ i ] + i ) ;
10
+ if ( i === currentIndex ) {
11
+ result += 1 ;
12
+ currentIndex = availableSteps ;
13
+ }
14
+ }
15
+ return result ;
16
+ }
2
17
3
18
export { jump } ;
You can’t perform that action at this time.
0 commit comments