有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。
示例 1:
输入: k = 5
输出: 9
class Solution {
public int getKthMagicNumber(int k) {
int[] res = new int[k];
res[0] = 1;
int point3 = 0;
int point5 = 0;
int point7 = 0;
for(int i = 1; i < k; i++) {
int count = Math.min(Math.min(res[point3] * 3, res[point5] * 5), res[point7] * 7);
if(count % 3 == 0) {
point3++;
}
if(count % 5 == 0) {
point5++;
}
if(count % 7 == 0) {
point7++;
}
res[i] = count;
}
return res[k - 1];
}
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/get-kth-magic-number-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
