• 1144. 范围加法之二


    1144. 范围加法之二

    中文English

    给定一个m * n 的全零矩阵M,以及一些更新操作。

    操作由2D数组表示,并且每个操作由具有两个正整数a和b的数组表示,对于一个操作[a,b],这意味着M [i] [j] 会在所有0 <= i <a且0 <= j <b 的i,j位置上加1.

    在执行完所有操作后,您需要计算并返回矩阵中的最大整数的个数。

    样例

    样例 1:

    输入: 
    m = 3, n = 3
    operations = [[2,2],[3,3]]
    输出: 4
    解释: 
    最初,M =
    [[0,0,0],
     [0,0,0],
     [0,0,0]]
    
    在执行[2,2]之后,M =
    [[1,1,0],
     [1,1,0],
     [0,0,0]]
    
    执行[3,3]后,M =
    [[2,2,1],
     [2,2,1],
     [1,1,1]]
    
    所以M中的最大整数是2,M中有4个2。所以返回4。

    注意事项

    m和n的范围是[1,40000]。
    a的范围是[1,m],b的范围是[1,n]。
    操作个数不超过10,000。

    输入测试数据 (每行一个参数)如何理解测试数据?
    ##范围加法之二
    class Solution:
        '''
        大致思路:
        1.只需要根据ops来判断多少是共同的部分,给出共同的部分里面的元素个数即可,假设ops 不为[]
        2.两两进行匹配,返回相同的部分[x,y],不停的循环替换
        '''
        def maxCount(self,m,n,ops):
            if ops == []:
                return m*n
            l = ops[0]
            for  i in range(1,len(ops)):
                l = [min(l[0],ops[i][0]),min(l[1],ops[i][1])]
            return l[0]*l[1]
  • 相关阅读:
    《Android 4游戏高级编程(第2版)》书评
    push研究——Apache Mina探索初步
    Android UI开发第二十三篇——分享书架UI实现
    cookie学习总结
    Web.xml配置详解
    Java序列化的机制和原理
    Java高级技术(汇总中...)
    [Java]HashMap的两种排序方式
    jdk与jre的区别
    DM,NLP常用算法汇总
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12685106.html
Copyright © 2020-2023  润新知