Count Ways to Make Array With Product LeetCode solution in Python

1
class Solution:
2
def __init__(self):
3
self.dp = {}
4

5
def waysToFillArray(self, queries: List[List[int]]) -> List[int]:
6
mod = 10**9 + 7
7

8
def dfs(n, val):
9
if (n, val) not in self.dp:
10
if n == 1:
11
return 1
12
temp = 1
13
for k in range(val // 2, 0, -1):
14
if val % k == 0:
15
temp += dfs(n - 1, val // k)
16
self.dp[n, val] = temp % mod
17
return self.dp[n, val]
18

19
res = []
20
for n, val in queries:
21
res.append(dfs(n, val))
22
return res

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0