当炸弹在Python中爆炸时,查找地方数量的程序安全吗?
假设我们有一个二维二进制矩阵,其中1表示炸弹,0表示空单元。炸弹爆炸时,同一行和同一列上的所有空间均被破坏。我们必须找到可以站立的空间数量而不会受到损坏。
所以,如果输入像
那么输出将为2,因为在右下角单元格和右中角单元格有两个空格是安全的。
为了解决这个问题,我们将按照以下步骤操作:
r:=列表的大小与矩阵的行数相同,并用false填充
c:=与矩阵的列数相同的大小列表,并用false填充
对于范围从0到矩阵的行计数的i,执行1
如果matrix[i,j]与1相同,则
r[i]:=真,c[j]:=真
对于范围0到矩阵1的列数的j,执行
ct:=0
对于范围从0到矩阵的行计数的i,执行1
如果r[i]为False,而c[j]为False,则
ct:=ct+1
对于范围0到矩阵1的列数的j,执行
返回ct
让我们看下面的实现以更好地理解:
示例
class Solution:
def solve(self, matrix):
r = [False for i in range(len(matrix))]
c = [False for i in range(len(matrix[0]))]
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] == 1:
r[i] = True
c[j] = True
ct = 0
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if r[i] == False and c[j] == False:
ct += 1
return ct
ob = Solution()matrix = [
[1, 1, 0],
[0, 0, 0],
[0, 0, 0]
]
print(ob.solve(matrix))输入值
[ [1, 1, 0], [0, 0, 0], [0, 0, 0] ]
输出结果
2
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短