Tap here to switch tabs
Problem
Ask
Submissions

Problem: Shortest Bridge

med
30 min
Explore how to find the shortest bridge between two islands in a binary matrix by flipping the fewest water cells. Understand the problem constraints and implement an efficient O(n²) solution to connect the islands, enhancing your skills in grid traversal and algorithm optimization.

Statement

We are given an n×nn×n binary matrix grid containing 0s and 1s. Each cell in the grid represents either land or water. A cell with a value of 1 represents land, while a cell with a value of 0 represents water. A group of adjacent cells with a value of 1 constitutes an island. Two cells are considered adjacent if one is above, below, to the left, or to the right of the other. Our task is to return the smallest number of 0s we must flip to connect the two islands.

Note: We may assume all four edges of the grid are surrounded by water.

Constraints:

  • 22 \leq n \leq 2020

  • n==n == grid.length ==== grid[i].length.

  • grid[i][j] is either 0 or 1.

  • There are exactly two islands in the grid.

Tap here to switch tabs
Problem
Ask
Submissions

Problem: Shortest Bridge

med
30 min
Explore how to find the shortest bridge between two islands in a binary matrix by flipping the fewest water cells. Understand the problem constraints and implement an efficient O(n²) solution to connect the islands, enhancing your skills in grid traversal and algorithm optimization.

Statement

We are given an n×nn×n binary matrix grid containing 0s and 1s. Each cell in the grid represents either land or water. A cell with a value of 1 represents land, while a cell with a value of 0 represents water. A group of adjacent cells with a value of 1 constitutes an island. Two cells are considered adjacent if one is above, below, to the left, or to the right of the other. Our task is to return the smallest number of 0s we must flip to connect the two islands.

Note: We may assume all four edges of the grid are surrounded by water.

Constraints:

  • 22 \leq n \leq 2020

  • n==n == grid.length ==== grid[i].length.

  • grid[i][j] is either 0 or 1.

  • There are exactly two islands in the grid.