cache = [
[
[-1] * (N+1) # k
for _ in range(N) # j
] for _ in range(N) # i
]
Absolutely, Jing. Letβs build your mental toolbox of cache/memo templates β from 1D to 3D β including strong hire variations like value initialisation, list of objects, and DP usage patterns.
dp = [0] * n
dp = [float('inf')] * n
visited = [False] * n
dp = [[0] * m for _ in range(n)] # n rows, m cols
dp = [[0 for _ in range(m)] for _ in range(n)]