Imagine you have an n × n grid where each cell contains either a forward slash /, a backslash \, or is empty (space ' '). These slashes act like dividers that split each 1×1 square into separate regions.

Your task is to count the total number of distinct regions created by these slashes across the entire grid. Think of it like counting separate rooms in a floor plan where walls are drawn with slashes!

Input: A string array grid where each string represents a row
Output: An integer representing the number of separate regions

Note: Backslashes are escaped in the input, so \\ represents a single \ character.

Input & Output

example_1.py — Basic 2×2 Grid
$ Input: grid = [" /", "/ "]
Output: 2
💡 Note: The 2×2 grid has a forward slash in top-right and bottom-left cells. This creates two separate regions: one triangular region in the top-left corner and bottom-right corner, and another region connecting the remaining areas.
example_2.py — Cross Pattern
$ Input: grid = [" /", " "]
Output: 1
💡 Note: Only one slash divides the top-right cell, but all regions remain connected through the empty spaces, creating just one large connected region.
example_3.py — All Slashes
$ Input: grid = ["/\\", "\\/"]
Output: 5
💡 Note: This creates a complex pattern with multiple slashes. The intersecting slashes create 5 separate regions: 4 corner triangular regions plus 1 central diamond-shaped region.

Constraints

  • n == grid.length == grid[i].length
  • 1 ≤ n ≤ 60
  • grid[i][j] is either '/', '\\', or ' '
  • Space complexity should be optimized for larger grids

Visualization

Tap to expand
Office Floor Plan: Grid [" /", "/ "]121Result: 2 RegionsUnion-Find Approach012301234 Triangles per cell🎯 Key InsightTransform diagonal divisions into a graph connectivity problemEither expand the grid or use Union-Find with triangular sub-regionsUnion-Find provides optimal O(n²α(n)) solution
Understanding the Visualization
1
Layout the Grid
Start with an n×n office space where each cell can have diagonal dividers
2
Add Dividers
Place diagonal dividers (/ or \) according to the grid specification
3
Identify Regions
Each connected area that you can walk through without crossing dividers is one region
4
Count Rooms
The total number of such connected areas is our answer
Key Takeaway
🎯 Key Insight: Converting diagonal slash divisions into a standard graph connectivity problem allows us to use efficient algorithms like Union-Find to count connected components without expensive grid expansion.
Asked in
Google 35 Amazon 28 Facebook 22 Microsoft 18
82.4K Views
Medium Frequency
~25 min Avg. Time
1.9K Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen