跳到主要内容

3128.直角三角形

链接:3128.直角三角形
难度:Medium
标签:数组、哈希表、数学、组合数学、计数
简介:给你一个二维 boolean 矩阵 grid 。请你返回使用 grid 中的 3 个元素可以构建的 直角三角形 数目,且满足 3 个元素值 都 为 1 。

题解 1 - python

  • 编辑时间:2024-08-02
  • 执行用时:476ms
  • 内存消耗:44.82MB
  • 编程语言:python
  • 解法介绍:遍历每一个1,查找垂直和水平方向上的所有的其他1的个数。
class Solution:
def numberOfRightTriangles(self, grid: List[List[int]]) -> int:
n = len(grid)
m = len(grid[0])
rows = [sum(grid[i][j] for j in range(m)) for i in range(n)]
cols = [sum(grid[i][j] for i in range(n)) for j in range(m)]
return sum(
(rows[i] - 1) * (cols[j] - 1)
for i in range(n)
for j in range(m)
if grid[i][j]
)