File tree Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Original file line number Diff line number Diff line change 1
1
// I prefer iterating over recursivity in almost all cases.
2
2
// Is a good exercise to do some things with recursivity tho.
3
3
4
- export function min ( ...numbers : number [ ] ) {
4
+ export function min ( ...numbers : readonly number [ ] ) {
5
5
let smaller = Infinity ;
6
6
7
7
for ( const num of numbers ) {
@@ -13,18 +13,18 @@ export function min(...numbers: number[]) {
13
13
return smaller ;
14
14
}
15
15
16
- export function minRecursive ( ...numbers : number [ ] ) {
17
- const finder = ( current : number , competitor ? : number ) => {
18
- if ( ! competitor ) {
19
- return current ;
16
+ export function minRecursive ( ...numbers : readonly number [ ] ) {
17
+ const finder = ( min : number , idx : number ) => {
18
+ if ( idx >= numbers . length ) {
19
+ return min ;
20
20
}
21
21
22
- if ( competitor < current ) {
23
- current = competitor ;
22
+ if ( numbers [ idx ] < min ) {
23
+ min = numbers [ idx ] ;
24
24
}
25
25
26
- return finder ( current , numbers . pop ( ) ) ;
26
+ return finder ( min , idx + 1 ) ;
27
27
} ;
28
28
29
- return finder ( Infinity , numbers . pop ( ) ) ;
29
+ return finder ( Infinity , 0 ) ;
30
30
}
You can’t perform that action at this time.
0 commit comments