Leetcode 2125. Number of Laser Beams in a Bank 幾道雷射光啦

 Leetcode 2125. Number of Laser Beams in a Bank 幾道雷射光啦

nti-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 ith 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 rowsr1 and r2, where r1 < r2.
  • For each row i where r1 < i < r2, there are no security devices in the ith 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:



題目很簡單,

把0砍掉

之後兩兩相乘即可




class Solution:
    def numberOfBeams(self, bank: List[str]) -> int:
        
        
        ans=[]
        for i in bank:
            s=i.count('1')
            if s>0:
                ans.append(s)
        
        if len(ans)==1:
            return 0
    
        res=0
        for i in range(len(ans)-1):
            res+=ans[i]*ans[i+1]
            
        
        return res

留言

這個網誌中的熱門文章

1041. Robot Bounded In Circle 機器人在圈圈裏面?

382. Linked List Random Node: 隨機選元素從list裡面

2134. Minimum Swaps to Group All 1's Together II 使得所有1連在一起