A.每日一题——1925. 统计平方和三元组的数目

题目链接: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;
    }
}
相关推荐
窗边鸟5 分钟前
小白日记之java方法(java复习)
java·学习
sunfove6 分钟前
实战篇:用 Python 徒手实现模拟退火算法解决 TSP 问题
开发语言·python·模拟退火算法
jiunian_cn6 分钟前
【C++】IO流
开发语言·c++
小饼干超人8 分钟前
详解向量数据库中的PQ算法(Product Quantization)
人工智能·算法·机器学习
你撅嘴真丑24 分钟前
第四章 函数与递归
算法·uva
漫随流水29 分钟前
leetcode回溯算法(77.组合)
数据结构·算法·leetcode·回溯算法
砚边数影42 分钟前
AI数学基础(一):线性代数核心,向量/矩阵运算的Java实现
java·数据库·人工智能·线性代数·矩阵·ai编程·金仓数据库
froginwe111 小时前
C 语言输入与输出详解
开发语言
玄冥剑尊1 小时前
动态规划入门
算法·动态规划·代理模式