238. Product of Array Except Self
https://leetcode.com/problems/construct-product-matrix/description/
class Solution {
public:
vector<vector<int>> constructProductMatrix(vector<vector<int>>& grid) {
int n = grid.size();
int m = grid[0].size();
const int MOD = 12345;
vector<vector<int>> result(n, vector<int>(m,1));
long long prefixProduct = 1;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
result[i][j] = prefixProduct;
prefixProduct = (prefixProduct * grid[i][j])%MOD;
}
}
long long suffixProduct = 1;
for(int i=n-1;i>=0;i--){
for(int j=m-1;j>=0;j--){
result[i][j] = (result[i][j] * suffixProduct) % MOD;
suffixProduct = (suffixProduct * grid[i][j]) % MOD;
}
}
return result;
}
};