306. Additive Number

import itertools
class Solution(object):
    def isAdditiveNumber(self, num):
        """
        :type num: str
        :rtype: bool
        """
        n=len(num)
        for i,j in itertools.combinations(range(1,n),2):
            a,b=num[:i],num[i:j]
            if b!=str(int(b)) or a!=str(int(a)):
                continue
            
            while j<n:
                c=str(int(a)+int(b))
                if not num.startswith(c,j):
                    break
                j+=len(c)
                a,b=b,c
            if j==n:
                return True
        return False 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容