常见的双指针
面试题 17.09. 第 k 个数----三指针
有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。
面试题 17.09. 第 k 个数
python
class Solution:
def getKthMagicNumber(self, k: int) -> int:
l = [1]*k
dp3,dp5,dp7 = 0,0,0
for i in range(1,k):
t3,t5,t7 = l[dp3]*3, l[dp5]*5, l[dp7]*7
m = min(t3,t5,t7)
l[i] = m
if t3==m:
dp3+= 1
if t5==m:
dp5+=1
if t7==m:
dp7 += 1
return l[k-1]