Iam_Sandeep

largest rectangle sum in matrix largest submatrux with given sum

Apr 26th, 2022
976
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | None | 0 0
  1.  
  2. def largestSubmatrixWithSumZero(mat, r, c):
  3.     def find(arr):
  4.         d={0:-1}
  5.         t,ans=0,0
  6.         for i in range(c):
  7.             t+=arr[i]
  8.             if t in d:ans=max(ans,i-d[t])
  9.             else:d[t]=i
  10.         return ans
  11.     ans=float('-inf')
  12.     for i in range(r):
  13.         arr=[0]*c
  14.         for j in range(i,r):
  15.             for col in range(c):
  16.                 arr[col]+=mat[j][col]
  17.             h=j-i+1
  18.             w=find(arr)
  19.             ans=max(ans,h*w)
  20.     return ans
  21.  
  22.  
  23. class Solution:
  24.     def maximumSumRectangle(self,n,m,M):
  25.         def kadane(arr):
  26.             cursum,maxsum=0,float('-inf')
  27.             for i in range(m):
  28.                 cursum+=arr[i]
  29.                 maxsum=max(maxsum,cursum)
  30.                 if cursum<0:cursum=0
  31.             return maxsum
  32.                    
  33.         maxsum=float('-inf')
  34.         for i in range(n):
  35.             arr=[0]*m
  36.             for j in range(i,n):
  37.                 for k in range(m):
  38.                     arr[k]+=M[j][k]
  39.                 t=kadane(arr)
  40.                 #print(t)
  41.                 maxsum=max(maxsum,t)
  42.                
  43.         return maxsum
Advertisement
Add Comment
Please, Sign In to add comment