【Leetcode Daily】3128直角三角形
题目浅析
想查看原题可以点击题目链接。
简单地说,就是给一个二维数组,数字只会是 0 或 1,求其中直角三角形的数目,直角三角形的三个元素要求以直角中心处为核心,横向和纵向有 1 即可。
思路分享
基本的枚举思路可以参考【Leetcode Daily】2909元素和最小的山形三元组。
重点在于元素不必相邻,所以只要统计好每行和每列 1 的数量,遍历直角三角形核心,每次遇到 1,结果就可以加上该处行列剩余的 1 数量相乘的值。
本题学到的最大的点在于 zip 函数的使用,在 cpp 中总是烦恼难以并行遍历,只能通过下标管理的窘况通过 zip 函数就能解决。
代码解答(强烈建议自行解答后再看)
- 参考题解
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!