zoukankan      html  css  js  c++  java
  • 598. Range Addition II

    Problem statement:

    Given an m * n matrix M initialized with all 0's and several update operations.

    Operations are represented by a 2D array, and each operation is represented by an array with two positive integers a and b, which means M[i][j] should be added by one for all 0 <= i < a and 0 <= j < b.

    You need to count and return the number of maximum integers in the matrix after performing all the operations.

    Example 1:

    Input: 
    m = 3, n = 3
    operations = [[2,2],[3,3]]
    Output: 4
    Explanation: 
    Initially, M = 
    [[0, 0, 0],
     [0, 0, 0],
     [0, 0, 0]]
    
    After performing [2,2], M = 
    [[1, 1, 0],
     [1, 1, 0],
     [0, 0, 0]]
    
    After performing [3,3], M = 
    [[2, 2, 1],
     [2, 2, 1],
     [1, 1, 1]]
    
    So the maximum integer in M is 2, and there are four of it in M. So return 4.

    Note:

    1. The range of m and n is [1,40000].
    2. The range of a is [1,m], and the range of b is [1,n].
    3. The range of operations size won't exceed 10,000.

    Solution:

    This is the first question of leetcode weekly contest 34. Obviously, we should find the common area for all operations, which is enclosed by the min value in x/y axis. Like 221. Maximal Square.

    NOTE: we should return m * n if the operation set is empty. The initialization of x_min/y_min is m/n.

    Time complexity is O(n). n is the size of operation set.

    class Solution {
    public:
        int maxCount(int m, int n, vector<vector<int>>& ops) {
            int x_min = m;
            int y_min = n;
            for(auto op : ops){
                x_min = min(x_min, op[0]);
                y_min = min(y_min, op[1]);
            }
            return x_min * y_min;
        }
    };
  • 相关阅读:
    static关键字详解
    解读equals()和hashCode()
    基于马士兵老师的高并发笔记
    scrapy安装及基本使用
    scrapy 简单操作
    python django简单操作
    Map,Filter 和 Reduce
    2017-08-06笔记
    幂等性
    Jmeter jdbc连接
  • 原文地址:https://www.cnblogs.com/wdw828/p/6917182.html
Copyright © 2011-2022 走看看