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.

    Runtime: 4 ms, faster than 100.00% of C++ online submissions for Range Addition II.

    1. class Solution {
    2. public:
    3. int maxCount(int m, int n, vector<vector<int>>& ops) {
    4. int size = ops.size();
    5. if (size < 1) {
    6. return m * n;
    7. }
    8. int minX = ops[0][0];
    9. int minY = ops[0][1];
    10. for (int i = 1; i < size; i++) {
    11. if (ops[i][0] < minX) {
    12. minX = ops[i][0];
    13. }
    14. if (ops[i][1] < minY) {
    15. minY = ops[i][1];
    16. }
    17. }
    18. return minX * minY;
    19. }
    20. };

    本题的思路非常简单,从提示中很明确我们需要找到 XY 两轴中最大的并集,由于两轴的起点都是从 [0, 0] 开始,因此只需要分别找到两个轴最小值即可。