-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2661. First Completely Painted Row or Column #1186
Comments
We can follow these steps: Approach
Detailed Steps
Let's implement this solution in PHP: 2661. First Completely Painted Row or Column <?php
/**
* @param Integer[] $arr
* @param Integer[][] $mat
* @return Integer
*/
function firstCompleteIndex($arr, $mat) {
$m = count($mat);
$n = count($mat[0]);
// Step 1: Preprocess the positions of elements in the matrix
$position_map = [];
for ($i = 0; $i < $m; $i++) {
for ($j = 0; $j < $n; $j++) {
$position_map[$mat[$i][$j]] = [$i, $j];
}
}
// Step 2: Initialize row and column counts
$row_count = array_fill(0, $m, 0); // Frequency of painted cells in each row
$col_count = array_fill(0, $n, 0); // Frequency of painted cells in each column
// Step 3: Traverse arr and update counts
foreach ($arr as $i => $value) {
list($row, $col) = $position_map[$value];
// Increment the row and column counts
$row_count[$row]++;
$col_count[$col]++;
// Step 4: Check if any row or column is fully painted
if ($row_count[$row] == $n || $col_count[$col] == $m) {
return $i;
}
}
// If no row or column is fully painted, return -1 (although the problem guarantees a solution)
return -1;
}
// Example usage:
$arr = [1, 3, 4, 2];
$mat = [[1, 4], [2, 3]];
echo firstCompleteIndex($arr, $mat); // Output: 2
$arr = [2, 8, 7, 4, 1, 3, 5, 6, 9];
$mat = [[3, 2, 5], [1, 4, 6], [8, 7, 9]];
echo firstCompleteIndex($arr, $mat); // Output: 3
?> Explanation:
Time Complexity:
Space Complexity:
This solution should efficiently handle the problem within the given constraints. |
mah-shamim
added a commit
that referenced
this issue
Jan 20, 2025
…-column submissions 1514597216 Co-authored-by: kovatz <[email protected]> Co-authored-by: topugit <[email protected]> Co-authored-by: basharul-siddike <[email protected]> Co-authored-by: hafijul233 <[email protected]>
This was
linked to
pull requests
Jan 20, 2025
Merged
mah-shamim
added a commit
that referenced
this issue
Jan 20, 2025
…-column submissions 1514597216 Co-authored-by: kovatz <[email protected]> Co-authored-by: topugit <[email protected]> Co-authored-by: basharul-siddike <[email protected]> Co-authored-by: hafijul233 <[email protected]>
mah-shamim
added a commit
that referenced
this issue
Jan 20, 2025
…-column submissions 1514597216 Co-authored-by: kovatz <[email protected]> Co-authored-by: topugit <[email protected]> Co-authored-by: basharul-siddike <[email protected]> Co-authored-by: hafijul233 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Discussed in #1185
Originally posted by mah-shamim January 20, 2025
Topics:
Array
,Hash Table
,Matrix
You are given a 0-indexed integer array
arr
, and anm x n
integer matrixmat
.arr
andmat
both contain all the integers in the range[1, m * n]
.Go through each index
i
inarr
starting from index0
and paint the cell inmat
containing the integerarr[i]
.Return the smallest index
i
at which either a row or a column will be completely painted inmat
.Example 1:
arr[2]
.Example 2:
arr[3]
.Constraints:
m == mat.length
n = mat[i].length
arr.length == m * n
1 <= m, n <= 105
1 <= m * n <= 105
1 <= arr[i], mat[r][c] <= m * n
arr
are unique.mat
are unique.Hint:
The text was updated successfully, but these errors were encountered: