Leetcode 3128. Right Triangles

ops/2024/10/18 20:19:55/
  • Leetcode 3128. Right Triangles
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3128. Right Triangles

1. 解题思路

这一题的话对于任意一个位置,如果该位置为1,假设其所在行中1的个数 r i r_i ri,所在列中1的个数为 c j c_j cj,那么以该位置作为三角形顶点的三角形的个数就是 ( r i − 1 ) ⋅ ( c j − 1 ) (r_i-1)\cdot(c_j-1) (ri1)(cj1),因此,我们只需要先求出所有行和列当中的1的个数,然后遍历一下所有1的位置,将对应的三角形个数相加即可得到最终的答案。

2. 代码实现

给出python代码实现如下:

class Solution:def numberOfRightTriangles(self, grid: List[List[int]]) -> int:n, m = len(grid), len(grid[0])rows = [sum(line) for line in grid]cols = [sum([grid[i][j] for i in range(n)]) for j in range(m)]ans = 0for i in range(n):for j in range(m):if grid[i][j] == 0:continueans += (rows[i]-1) * (cols[j]-1)return ans

提交代码评测得到:耗时2234ms,占用内存37.7MB。


http://www.ppmy.cn/ops/36881.html

相关文章

Redis---------实现查询缓存业务

目录 数据库与缓存之间的工作业务逻辑: 接下来看查询缓存代码实现,主要是捋清楚业务逻辑,代码实现是死的: Controller: Service: P37作业实现:总体逻辑跟上面的业务逻辑差不多 Controller: Service&#…

菜鸡学习netty源码(五)—— EventLoop

1.EventLoop的类关系图 2. EventExecutor /*** 返回自身的对象* Returns a reference to itself.*/OverrideEventExecutor next();/*** 获取所属的EventExecutorGroup* Return the {link EventExecutorGroup} which is the parent of this {link EventExecutor},*/EventExecuto…

Linux---软硬链接

软链接 我们先学习一下怎样创建软链接文件,指令格式为:ln -s 被链接的文件 生成的链接文件名 我们可以这样记忆:ln是link的简称,s是soft的简称。 我们在下面的图片中就是给test文件生成了一个软链接mytest: 我们来解…

【C语言】学习C语言

C语言简介 C语言是一门十分流行的编程语言,由美国贝尔实验室的 Dennis Ritchie 在 20 世纪 70 年代开发。 C语言具有高效、可移植、灵活、简单等特点,被广泛应用于操作系统、编译器、数据库、图形界面、嵌入式系统、网络通信、游戏等领域。 本文将带你…

学习《现代密码学——基于安全多方计算协议的研究》 第二章

目录 第2章 数学基数 2.1 预备知识 2.1.1 素数 2.1.2 模运算 2.1.3 群 【定义2-2】(群的定义) 【定义2-3】(交换群) 【定义2-4】(单位元) 【定义2-5】(逆元) 【定义2…

C++深度解析教程笔记4

C深度解析教程笔记4 第7课 - 函数参数的扩展实验-默认参数实验-从右提供的默认参数实验-默认值与占位参数结合小结 第8课 - 函数重载分析(上)实验-函数重载实验-有歧义的重载实验-重载函数是同一函数吗查看vs2010的obj文件的符号表 小结 第9课 - 函数重载…

systemctl开启自动启动特定docker服务

列出所有服务和状态 systemctl list-unit-files --typeservice | grep enabled开机启动docker容器 1.创建Docker启动脚本: 创建一个启动Docker容器的脚本,该脚本可以将Docker服务启动,并启动需要的特定容器。名为start_docker_containers.…

Go语言的切片(slice)和数组(array)有什么不同?

文章目录 数组(Array)示例代码数组的缺点 切片(Slice)示例代码切片的优点原因和解决方案 总结 在Go语言中,数组和切片(slice)都是用来存储一系列相同类型数据的集合,但它们之间存在一…