0
点赞
收藏
分享

微信扫一扫

喜报 | 英码科技顺利通过2023年度广东省工程技术研究中心认定

流沙雨帘 8小时前 阅读 0

常见的双指针

面试题 17.09. 第 k 个数----三指针

有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。
面试题 17.09. 第 k 个数

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]
举报

相关推荐

0 条评论