题目链接:1925. 统计平方和三元组的数目(简单)
算法原理:
解法:哈希表暴力枚举
击败48.61%
时间复杂度O(N²)
将所有数的平方全扔进哈希表,然后枚举每两个数的平方,判断它们的和在哈希表中是否存在
Java代码:
java
class Solution {
public int countTriples(int n) {
int ret=0;
Set<Integer> hash=new HashSet<>();
for(int i=1;i<=n;i++) hash.add(i*i);
for(int i=1;i<=n;i++){
int a=i*i;
for(int j=1;j<=n;j++){
int b=j*j;
if(hash.contains(a+b)) ret++;
}
}
return ret;
}
}