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 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容