有些数的素因子只有 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。