598. Range Addition II(Python)

思路:初始化是m*n为0的列表,经过几次变换,得到最终的列表,求最大的几个,换个思路就是可以看成m*n矩阵,每次从左上角开始按照ops列表数进行相应个数加1,最终得到的矩阵最大的几个,也就是几乎每次都加1的小矩阵,也就是交集,即找到横纵最小的数,返回两个数的乘积

  1. class Solution(object):  
  2.     def maxCount(self, m, n, ops):  
  3.         """ 
  4.         :type m: int 
  5.         :type n: int 
  6.         :type ops: List[List[int]] 
  7.         :rtype: int 
  8.         """  
  9.         if len(ops)==0:  
  10.             return m*n  
  11.         reminx = ops[0][0]  
  12.         reminy = ops[0][1]  
  13.           
  14.         for i in range(1,len(ops)):  
  15.             if ops[i][0]<reminx:  
  16.                 reminx = ops[i][0]  
  17.             if ops[i][1]<reminy:  
  18.                 reminy = ops[i][1]  
  19.               
  20.         return reminx*reminy  
  21.               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值