09 Sept 2026Go / Python / TypeScriptEasy

Range Addition II

Count the maximum entries after applying top-left rectangle increments to a matrix.

Every maximum cell lies in the intersection of all incremented rectangles. Track the smallest row and column boundaries and multiply them.

complexity

O(k) time for k operations and O(1) extra space.

solution files

  • Go range-addition-ii/solution.go
  • Python range-addition-ii/solution.py
  • TypeScript range-addition-ii/solution.ts

Solution files

Gorange-addition-ii/solution.go
package main

func maxCount(m int, n int, ops [][]int) int {
	rows, columns := m, n
	for _, operation := range ops {
		if operation[0] < rows {
			rows = operation[0]
		}
		if operation[1] < columns {
			columns = operation[1]
		}
	}
	return rows * columns
}
Pythonrange-addition-ii/solution.py
class Solution:
    def maxCount(self, m: int, n: int, ops: list[list[int]]) -> int:
        rows, columns = m, n
        for row_limit, column_limit in ops:
            rows = min(rows, row_limit)
            columns = min(columns, column_limit)
        return rows * columns
TypeScriptrange-addition-ii/solution.ts
function maxCount(m: number, n: number, ops: number[][]): number {
  let rows = m;
  let columns = n;
  for (const [rowLimit, columnLimit] of ops) {
    rows = Math.min(rows, rowLimit);
    columns = Math.min(columns, columnLimit);
  }
  return rows * columns;
}