Number of Laser Beams in a Bank
Anti-theft security devices are activated inside a bank. You are given a 0-indexed binary string array bank representing the floor plan of the bank, which is an m x n 2D matrix. bank[i] represents the i^th row, consisting of '0's and '1's. '0' means the cell is empty, while '1' means the cell has a security device.
There is one laser beam between any two security devices if both conditions are met:
- The two devices are located on two different rows:
r1andr2, wherer1 < r2. - For each row
iwherer1 < i < r2, there are no security devices in thei^throw.
Laser beams are independent, i.e., one beam does not interfere nor join with another.
Return the total number of laser beams in the bank.
Example 1
Input
bank = ["011001","000000","010100","001000"]Output
8There are 8 valid beams between devices on consecutive non-empty rows, while devices on the 0th and 3rd rows are not connected because the 2nd row contains security devices.
Example 2
Input
bank = ["000","111","000"]Output
0There does not exist two devices located on two different rows.
Constraints
- m == bank.length
- n == bank[i].length
- 1 <= m, n <= 500
- bank[i][j] is either '0' or '1'.