let a = "DCBA"; let actualStrInArray = a.split(""); let sortedStrInArray = a.split("").sort(); let rank = 0; for (let i = 0; i < actualStrInArray?.length; i++) { let elem = actualStrInArray[i]; let indexOfElementInSorted = sortedStrInArray.indexOf(elem); if (indexOfElementInSorted > 0) { let getCount = indexOfElementInSorted * factorial(sortedStrInArray.length - 1); rank = rank + getCount; sortedStrInArray.splice(indexOfElementInSorted, 1); } else { rank = rank + 1; } } console.log(rank);
function factorial(n) { let answer = 1; if (n == 0 || n == 1) { return answer; } else { for (var i = n; i >= 1; i--) { answer = answer * i; } return answer; } }
Top comments (0)