当前位置: 首页> 财经> 访谈 > LeetCode每日一题_3128. 直角三角形

LeetCode每日一题_3128. 直角三角形

时间:2025/7/12 17:45:42来源:https://blog.csdn.net/buyaotutou/article/details/140878069 浏览次数:0次

在这里插入图片描述
解题思路:
可以先统计每一行和每一列的 1 的个数,记录在数组 rows 和 cols 中。
然后我们枚举每一个 1,假设当前 1 在第 i 行第 j 列,那么以当前 1 为直角三角形的直角点,另外两个直角点分别在第 i 行和第 j 列,那么直角三角形的个数就是 (rows[i]−1)×(cols[j]−1),累加到答案中即可。

class Solution {public long numberOfRightTriangles(int[][] grid) {//如果int r =grid.length;int c =grid[0].length;int[] rows = new int[r];int[] columns = new int[c];for(int i=0;i<r;i++){for(int j=0;j<c;j++){if(grid[i][j]==1){rows[i]++;columns[j]++;}}}long count = 0;//注意如果不使用long型,在遇到大的数字时正数会变成负数。for(int i=0;i<r;i++){for(int j=0;j<c;j++){if(grid[i][j]==1&&(rows[i]>=1)&&(columns[j]>=1)){count+=(long)(rows[i]-1)*(columns[j]-1);}}}return count;}
}
关键字:LeetCode每日一题_3128. 直角三角形

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: