当前位置: 首页 > news >正文

leetcode3128. 直角三角形-medium

1 题目:直角三角形

官方标定难度:中

给你一个二维 boolean 矩阵 grid 。

如果 grid 的 3 个元素的集合中,一个元素与另一个元素在 同一行,并且与第三个元素在 同一列,则该集合是一个 直角三角形。3 个元素 不必 彼此相邻。

请你返回使用 grid 中的 3 个元素可以构建的 直角三角形 数目,且满足 3 个元素值 都 为 1 。

示例 1:

在这里插入图片描述

输入:grid = [[0,1,0],[0,1,1],[0,1,0]]

输出:2

解释:

有 2 个值为 1 的直角三角形。注意蓝色的那个 没有 组成直角三角形,因为 3 个元素在同一列。

示例 2:

在这里插入图片描述

输入:grid = [[1,0,0,0],[0,1,0,1],[1,0,0,0]]

输出:0

解释:

没有值为 1 的直角三角形。注意蓝色的那个 没有 组成直角三角形。

示例 3:

在这里插入图片描述

输入:grid = [[1,0,1],[1,0,0],[1,0,0]]

输出:2

解释:

有两个值为 1 的直角三角形。

提示:

1 <= grid.length <= 1000
1 <= grid[i].length <= 1000
0 <= grid[i][j] <= 1

2 solution

代码

class Solution {
public:long long numberOfRightTriangles(vector<vector<int>> &grid) {int m = grid.size(), n = grid[0].size();vector<int> row(m), col(n);long long s = 0;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {row[i] += grid[i][j];col[j] += grid[i][j];}}for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (grid[i][j]) {s += (row[i] - 1ll) * (col[j] - 1);   }}}return s;};
};

结果

在这里插入图片描述

http://www.xdnf.cn/news/750169.html

相关文章:

  • [VMM]现代 CPU 中用于加速多级页表查找的Page‐Table Entry原理
  • 人工智能在智能健康监测中的创新应用与未来趋势
  • could not select device driver ““ with capabilities: [[gpu]]
  • 红外遥控(外部中断)
  • 关于win10系统中环境变量path变成一行显示的问题
  • Vue ①-实例 || 指令
  • Baklib企业CMS全流程管控与智能协作
  • CppCon 2014 学习:Optimization Tips
  • Fine Pruned Tiled Light Lists(精细删减的分块光照列表)
  • Python60日基础学习打卡Day39
  • 痉挛性斜颈带来的困扰
  • PCIE之Lane Reserval通道out of oder调换顺序
  • 2025年- H63-Lc171--33.搜索旋转排序数组(2次二分查找,需二刷)--Java版
  • 基于热力学熵增原理的EM-GAM
  • Less基础语法
  • Python打卡训练营学习记录Day41
  • C++:参数传递方法(Parameter Passing Methods)
  • day28 python训练营 类的定义与方法
  • 【Java】ForkJoin 框架
  • linux 1.0.7
  • VC++: identifer “M_PI“ is undefined
  • B3623 枚举排列(递归实现排列型枚举)
  • javaScirpt学习第五章(函数)-第二部分
  • 应用于分子生成的免训练引导多模态流模型 - TFG-Flow 评测
  • 用不太严谨的文字介绍遥测自跟踪天线的基本原理
  • Java中的继承
  • Target店铺应该如何入驻?
  • 自定义Spring Boot Starter
  • 【课堂笔记】标签传播算法Label Propagation Algorithm(LPA)
  • DFS入门刷题