Jump to content

Largest product in a grid: Difference between revisions

m
Line 323:
from math import prod
 
def maxproduct(mat, nlenlength):
""" find the largest product of len length horizontal or vertical length in matrix """
length, nrow, ncol = nlen - 1, len(mat), len(mat[0])
maxprod, maxrow, maxcol, arr = 0, [0, 0], [0, 0], [0]
for row in range(nrow):
for col in range(ncol):
row2, col2 = row + length + 1, col + length + 1
if row < nrow - length + 1:
array = [r[col] for r in mat[row:row2]]
pro = prod(array)
if pro > maxprod:
maxprod, maxrow, maxcol, arr = pro, [row, row2], col, array
if col < ncol - length + 1:
pro = prod(mat[row][col:col2])
if pro > maxprod:
maxprod, maxrow, maxcol, arr = pro, row, [col, col2], mat[row][col:col2]
 
print(f"The max {nlenlength}-product is {maxprod}, product of {arr} at row {maxrow}, col {maxcol}.")
 
MATRIX = [
4,105

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.