598. Range Addition II(Python)
思路:初始化是m*n为0的列表,经过几次变换,得到最终的列表,求最大的几个,换个思路就是可以看成m*n矩阵,每次从左上角开始按照ops列表数进行相应个数加1,最终得到的矩阵最大的几个,也就是几乎每次都加1的小矩阵,也就是交集,即找到横纵最小的数,返回两个数的乘积
- class Solution(object):
- def maxCount(self, m, n, ops):
- """
- :type m: int
- :type n: int
- :type ops: List[List[int]]
- :rtype: int
- """
- if len(ops)==0:
- return m*n
- reminx = ops[0][0]
- reminy = ops[0][1]
- for i in range(1,len(ops)):
- if ops[i][0]<reminx:
- reminx = ops[i][0]
- if ops[i][1]<reminy:
- reminy = ops[i][1]
- return reminx*reminy