Solution: Last Day Where You Can Still Cross
Explore the union find algorithm to solve the Last Day Where You Can Still Cross problem on a 1-based binary matrix. Understand how to track connected water cells and find the last day crossing is possible by grouping flooded cells using disjoint sets. Learn how to implement efficient connectivity checks with path compression and virtual nodes to determine when the matrix becomes impassable. This lesson also covers alternative approaches using BFS and DFS with binary search.
We'll cover the following...
Statement
You are given two integers, rows and cols, which represent the number of rows and columns in a
Initially, on day 0, the whole matrix will just be all 0s, that is, all land. With each passing day, one of the cells of this matrix will get flooded and, therefore, will change to water, that is, from to . This continues until the entire matrix is flooded. You are given a 1-based array, waterCells, that records which cell will be flooded on each day. Each element indicates the cell present at the row and column of the matrix that will change from land to water on the day.
We can cross any cell of the matrix as long as it’s land. Once it changes to water, we can’t cross it. To cross any cell, we can only move in one of the four waterCells, you are required to find the last day where you can still cross the matrix, from top to bottom, by walking over the land cells only.
Note: You can start from any cell in the top row, and you need to be able to reach just one cell in the bottom row for it to count as a crossing.
Constraints:
-
rowscols