Number of Dice Rolls With Target Sum LeetCode solution in Python
1# Runtime: 782 ms (Top 50.50%) | Memory: 18.9 MB (Top 42.22%)234class Solution(object):5def numRollsToTarget(self, n, k, target):6"""7:type n: int8:type k: int9:type target: int10:rtype: int11"""1213mem = {}1415def dfs(i, currSum):1617if currSum > target:18return 01920if i == n:21if currSum == target:22return 123return 02425if (i, currSum) in mem:26return mem[(i, currSum)]2728ans = 029for dicenumber in range(1, k + 1):30ans += dfs(i + 1, currSum + dicenumber)3132mem[(i, currSum)] = ans3334return mem[(i, currSum)]3536return dfs(0, 0) % (10**9 + 7)