面试题 17.09. 第 k 个数
有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。
示例 1:
输入: k = 5
输出: 9
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/get-kth-magic-number-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
3 ptr
class Solution: def getKthMagicNumber(self, k: int) -> int: if k<2:return 1 a=[0]*k a[0]=1 i3=i5=i7=0 for i in range(1,k): tmp=min(a[i3]*3,a[i5]*5,a[i7]*7) if a[i3]*3==tmp:i3+=1 if a[i5]*5==tmp:i5+=1 if a[i7]*7==tmp:i7+=1 a[i]=tmp return a[k-1]