Algorithm
Construct Product Matrix
Solution
class Solution:
def constructProductMatrix(self, grid: List[List[int]]) -> List[List[int]]:
MOD = 12345
n, m = len(grid), len(grid[0])
p = [[0] * m for _ in range(n)]
suffix = 1
for i in range(n - 1, -1, -1):
for j in range(m - 1, -1, -1):
p[i][j] = suffix
suffix = (suffix * grid[i][j]) % MOD
prefix = 1
for i in range(n):
for j in range(m):
p[i][j] = (p[i][j] * prefix) % MOD
prefix = (prefix * grid[i][j]) % MOD
return pVideo GuideLeetcode Daily
Time Complexity
O(N × M)
Space Complexity
O(1)
