题目描述
有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。
示例 1:
输入: k = 5
输出: 9
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/ge… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解思路
此题和题264丑数 II基本一致,可参考[路飞]_LeetCode题264丑数 II
题解代码
* @param {number} k
* @return {number}
*/
var getKthMagicNumber = function(k) {
let p3=p5=p7=1;
let ans = new Array(k+1);
ans[1] = 1;
for(i=2;i<=k;i++){
let m3 = ans[p3]*3;
let m5 = ans[p5]*5;
let m7 = ans[p7]*7;
let min = Math.min(m3,m5,m7);
if(min === m3) p3++;
if(min === m5) p5++;
if(min === m7) p7++;
ans[i] = min;
}
return ans[k];
};