LeetCode Algorithm 1925. 统计平方和三元组的数目
生活随笔
收集整理的這篇文章主要介紹了
LeetCode Algorithm 1925. 统计平方和三元组的数目
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1925. 統計平方和三元組的數目
Ideas
三層循環暴力肯定超時,需要優化。
a, b, c的關系需要滿足a2+b2=c2a^{2}+b^{2}=c^{2}a2+b2=c2,那么c=a2+b2c = \sqrt{a^{2}+b^{2}}c=a2+b2?,需要驗證c為整數并且c小于n。
沒有限定a和b的大小關系,但是a, b < c,既然a2+b2=c2a^{2}+b^{2}=c^{2}a2+b2=c2,那么b2+a2=c2b^{2}+a^{2}=c^{2}b2+a2=c2,所以可以讓a<b,然后每找到一個滿足條件的三元組就算為兩個。
Code
Python
class Solution:def countTriples(self, n: int) -> int:ans = 0for a in range(1, n + 1):for b in range(a + 1, n + 1):c = sqrt(a ** 2 + b ** 2)if c % 1 == 0 and c < n + 1:ans += 2return ans總結
以上是生活随笔為你收集整理的LeetCode Algorithm 1925. 统计平方和三元组的数目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020年第十一届蓝桥杯 - 省赛 -
- 下一篇: 2 0 2 0 年 第 十 一 届 蓝