标签:for item 最小值 题目 怎么 == return 个数 位置
题目描述
function GetUglyNumber_Solution(index)
{
// write code here
if(index < 7) return index
let p2 = 0, p3 = 0, p5 = 0 //计算下一个丑数的位置
let res = [] //存放排好序的丑数
res[0] = 1
for(let i =1; i < index; i++){
res[i] = Math.min(res[p2]*2, Math.min(res[p3]*3,res[p5]*5)) //取最小值
//移动相应的位置
if(res[i] === res[p2]*2) p2++
if(res[i] === res[p3]*3) p3++
if(res[i] === res[p5]*5) p5++
}
//返回最后一个
return res[index-1]
}
console.log(GetUglyNumber_Solution(12))
整体思路是一个动态规划的思路
标签:for item 最小值 题目 怎么 == return 个数 位置
原文地址:https://www.cnblogs.com/lyt0207/p/12618487.html