Cells with Odd Values in a Matrix Lab

Easy
2
21.1% Acceptance

In this lab, you are tasked to implement a function that calculates the number of odd-valued cells in a matrix after applying increment operations. The matrix is an m x n matrix, initialized to all 0's. There is also a 2D array indices where each indices[i] = [ri, ci] represents a 0-indexed location to perform some increment operations on the matrix.

For each location indices[i], do both of the following:

  1. Increment all the cells on row ri.
  2. Increment all the cells on column ci.

The function should be named oddCells and should have the following signature:

oddCells(m: number, n: number, indices: number[][]): number

Example 1:

Input: m = 2, n = 3, indices = [[0,1],[1,1]] Output: 6

Explanation:

Initial matrix = [[0,0,0],[0,0,0]]. After applying first increment it becomes [[1,2,1],[0,1,0]]. The final matrix is [[1,3,1],[1,3,1]], which contains 6 odd numbers.

Example 2:

Input: m = 2, n = 2, indices = [[1,1],[0,0]] Output: 0

Explanation:

Final matrix = [[2,2],[2,2]]. There are no odd numbers in the final matrix.

Constraints:

  • 1 <= m, n <= 50
  • 1 <= indices.length <= 100
  • 0 <= ri < m
  • 0 <= ci < n

Challenges

  1. Implement the oddCells function.
  2. Export the oddCells function using ESM import/export syntax.
  3. Optimize your solution to have a time complexity of O(n + m + indices.length) with only O(n + m) extra space.

Good luck!