Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def largestSubmatrixWithSumZero(mat, r, c):
- def find(arr):
- d={0:-1}
- t,ans=0,0
- for i in range(c):
- t+=arr[i]
- if t in d:ans=max(ans,i-d[t])
- else:d[t]=i
- return ans
- ans=float('-inf')
- for i in range(r):
- arr=[0]*c
- for j in range(i,r):
- for col in range(c):
- arr[col]+=mat[j][col]
- h=j-i+1
- w=find(arr)
- ans=max(ans,h*w)
- return ans
- class Solution:
- def maximumSumRectangle(self,n,m,M):
- def kadane(arr):
- cursum,maxsum=0,float('-inf')
- for i in range(m):
- cursum+=arr[i]
- maxsum=max(maxsum,cursum)
- if cursum<0:cursum=0
- return maxsum
- maxsum=float('-inf')
- for i in range(n):
- arr=[0]*m
- for j in range(i,n):
- for k in range(m):
- arr[k]+=M[j][k]
- t=kadane(arr)
- #print(t)
- maxsum=max(maxsum,t)
- return maxsum
Advertisement
Add Comment
Please, Sign In to add comment