var nthUglyNumber = function(n) {
const arr = [1];
if (n === 1) return arr[0];
let ptr2 = ptr3 = ptr5 = 0;
for (let i = 1; i <= Number.MAX_VALUE;i++) {
arr.push(Math.min(arr[ptr2] * 2,arr[ptr3] * 3,arr[ptr5] * 5));
if (arr[arr.length-1] === arr[ptr2] * 2) {
ptr2++;
}
if (arr[arr.length-1] === arr[ptr3] * 3) {
ptr3++;
}
if (arr[arr.length-1] === arr[ptr5] * 5) {
ptr5++;
}
if (arr.length === n) break;
}
return arr[arr.length-1];
};
作者:Always_positive
链接:https://juejin.cn/post/6948663624277688350
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。