Class Solution
-
- All Implemented Interfaces:
public final class Solution2125 - Number of Laser Beams in a Bank.
Medium
Anti-theft security devices are activated inside a bank. You are given a 0-indexed binary string array
bankrepresenting the floor plan of the bank, which is anm x n2D matrix.bank[i]represents the <code>i<sup>th</sup></code> 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: <code>r<sub>1</sub></code> and <code>r<sub>2</sub></code>, where <code>r<sub>1</sub>< r<sub>2</sub></code>.
For each row
iwhere <code>r<sub>1</sub>< i < r<sub>2</sub></code>, there are no security devices in the <code>i<sup>th</sup></code> row.
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: 8
Explanation: Between each of the following device pairs, there is one beam. In total, there are 8 beams:
bank1 -- bank1
bank1 -- bank3
bank2 -- bank1
bank2 -- bank3
bank5 -- bank1
bank5 -- bank3
bank1 -- bank2
bank3 -- bank2
Note that there is no beam between any device on the 0<sup>th</sup> row with any on the 3<sup>rd</sup> row.
This is because the 2<sup>nd</sup> row contains security devices, which breaks the second condition.
Example 2:
Input: bank = "000","111","000"
Output: 0
Explanation: There does not exist two devices located on two different rows.
Constraints:
m == bank.lengthn == bank[i].length1 <= m, n <= 500bank[i][j]is either'0'or'1'.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegernumberOfBeams(Array<String> bank)-
-
Method Detail
-
numberOfBeams
final Integer numberOfBeams(Array<String> bank)
-
-
-
-