377. 組合總和 Ⅳ

WrRan發表於2024-09-13
題目連結 377. 組合總和 Ⅳ
思路 動態規劃
題解連結 本質是爬樓梯:從記憶化搜尋到遞推,附題單(Python/Java/C++/C/Go/JS/Rust)
關鍵點 1.
時間複雜度 \(O(target \cdot n)\)
空間複雜度 \(O(target)\)

程式碼實現:

class Solution:
    def combinationSum4(self, nums: List[int], target: int) -> int:
        @cache
        def dfs(i):
            if i == 0:
                return 1
            return sum(
                dfs(i-x)
                for x in nums if x <= i
            )
        return dfs(target)

相關文章