8.28筆記

216. 組合總和 III

class Solution(object):
    def combinationSum3(self, k, n):
        """
        :type k: int
        :type n: int
        :rtype: List[List[int]]
        """
        res = []
        def backtrack(k,s,n,tep):
            if k == 0:
                if n == 0:
                    res.append(tep)
                return
            for i in range(s,10):
                if i > n:
                    break
                backtrack(k-1,i+1,n-i,tep+[i])
        backtrack(k,1,n,[])
        return res

120. 三角形最小路徑和

class Solution(object):
    def minimumTotal(self, triangle):
        """
        :type triangle: List[List[int]]
        :rtype: int
        """
        l = len(triangle)
        for i in range(l-2,-1,-1):
            for j in range(i+1):
                triangle[i][j] += min(triangle[i+1][j],triangle[i+1][j+1])
        return triangle[0][0]
                

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章