File tree Expand file tree Collapse file tree 1 file changed +40
-13
lines changed Expand file tree Collapse file tree 1 file changed +40
-13
lines changed Original file line number Diff line number Diff line change 22
33function nextBigger ( n ) {
44 let num = n . toString ( ) . split ( "" )
5- let arr = num . map ( Number ) . sort ( )
5+ let arr = num . map ( Number ) ;
6+ let array = arr
7+ let array1 = [ ] ;
68 console . log ( arr )
7- console . log ( arr )
8- // added
9- for ( let i = num . length - 1 ; i >= 0 ; i -- ) {
10- if ( num [ i ] > num [ i - 1 ] ) {
11- let temp = num [ i ]
12- num [ i ] = num [ i - 1 ] ;
13- num [ i - 1 ] = temp ;
14- if ( num . join ( "" ) > n ) {
15- return Number ( num . join ( "" ) ) ;
9+ for ( let j = arr . length - 1 ; j >= 0 ; j -- ) {
10+ for ( let i = arr . length - 1 ; i >= 0 ; i -- ) {
11+ // if(arr[i]>arr[i-1]){
12+ let temp = arr [ i ]
13+ arr [ i ] = arr [ i - 1 ] ;
14+ arr [ i - 1 ] = temp ;
15+ // console.log(Number(arr.join("")))
16+
17+ if ( Number ( arr . join ( "" ) ) > n ) {
18+ // console.log(arr.join(""))
19+ array1 . push ( Number ( arr . join ( "" ) ) ) ;
1620 }
1721 }
18- }
19- return - 1 ;
22+ // }
23+ arr = array ;
24+ }
25+ console . log ( array1 )
26+ // return -1;
2027 }
2128
22- nextBigger ( 91674 )
29+ nextBigger ( 8726510 )
30+
31+ // expexted 8750126
32+
33+ // best solution
34+
35+ const sortedDigits = n => { let arr = n . toString ( ) . split ( '' ) ; arr . sort ( ( a , b ) => b - a ) ; return arr ; } ;
36+
37+ function nextBigger ( n ) {
38+
39+ let arr = sortedDigits ( n ) ;
40+ let max = parseInt ( arr . join ( '' ) , 10 ) ;
41+
42+ for ( var i = n + 1 ; i <= max ; i ++ ) {
43+ if ( sortedDigits ( i ) . every ( ( x , j ) => x === arr [ j ] ) ) {
44+ return i ;
45+ }
46+ }
47+
48+ return - 1 ;
49+ }
You can’t perform that action at this time.
0 commit comments