Skip to content

Commit a9f3383

Browse files
committed
added code
1 parent d391b47 commit a9f3383

File tree

1 file changed

+40
-13
lines changed

1 file changed

+40
-13
lines changed

nextBiggerNumberWithSameDigit.js

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,48 @@
22

33
function 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+
}

0 commit comments

Comments
 (0)