package com.fishercoder.solutions;

/**
 * 598. Range Addition II

 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:
 The range of m and n is [1,40000].
 The range of a is [1,m], and the range of b is [1,n].
 The range of operations size won't exceed 10,000.
 */

public class _598 {

    public static class Solution1 {
        public int maxCount(int m, int n, int[][] ops) {
            int x = m;
            int y = n;
            for (int[] op : ops) {
                x = Math.min(x, op[0]);
                y = Math.min(y, op[1]);
            }
            return x * y;
        }
    }
}

@@ -33,948 +33,8 @@
 s;%0A%0A
-/**%0A * 598. Range Addition II%0A%0A Given an m * n matrix m initialized with all 0's and several update operations.%0A Operations are represented by a 2D array,%0A and each operation is represented by an array with two positive integers a and b,%0A which means m%5Bi%5D%5Bj%5D should be added by one for all 0 %3C= i %3C a and 0 %3C= j %3C b.%0A%0A You need to count and return the number of maximum integers in the matrix after performing all the operations.%0A%0A Example 1:%0A Input:%0A m = 3, n = 3%0A operations = %5B%5B2,2%5D,%5B3,3%5D%5D%0A Output: 4%0A%0A Explanation:%0A Initially, m =%0A %5B%5B0, 0, 0%5D,%0A %5B0, 0, 0%5D,%0A %5B0, 0, 0%5D%5D%0A%0A After performing %5B2,2%5D, m =%0A %5B%5B1, 1, 0%5D,%0A %5B1, 1, 0%5D,%0A %5B0, 0, 0%5D%5D%0A%0A After performing %5B3,3%5D, m =%0A %5B%5B2, 2, 1%5D,%0A %5B2, 2, 1%5D,%0A %5B1, 1, 1%5D%5D%0A%0A So the maximum integer in m is 2, and there are four of it in m. So return 4.%0A Note:%0A The range of m and n is %5B1,40000%5D.%0A The range of a is %5B1,m%5D, and the range of b is %5B1,n%5D.%0A The range of operations size won't exceed 10,000.%0A */%0A%0A
 publ

refactor 598