平方数之和(力扣)双指针 JAVA

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a^2 + b^2 = c 。

示例 1:

输入:c = 5

输出:true

解释:1 * 1 + 2 * 2 = 5

示例 2:

输入:c = 3

输出:false

提示:

0 <= c <= 2^31 - 1

解题思路:

1、采用双指针在构建的二维矩阵中查找

2、得用long类型变量

3、l = 0, r = Math.sqrt( c )

代码:

java 复制代码
class Solution {
    public boolean judgeSquareSum(int c) {
         long l = 0, r = (long) Math.sqrt(c);
         while(l <= r) {
        	 if(l * l + r * r > c) r --;
        	 else if(l * l + r * r < c) l ++;
        	 else return true;
         }
         return false;
    }
}
相关推荐
CoderCodingNo17 小时前
【CSP】CSP-XL 2025辽宁复赛真题-第四题, 购物(buy)
算法
木风小助理17 小时前
C# 高效编程:Any () 与 Count () 正确选择
java·solr·lucene
mjhcsp18 小时前
P14795 [JOI 2026 二次预选] 分班 / Class Division
数据结构·c++·算法
闻缺陷则喜何志丹18 小时前
【计算几何 最短路 动态规划】P1354 房间最短路问题
数学·算法·动态规划·最短路·计算几何·洛谷
圣保罗的大教堂18 小时前
leetcode 840. 矩阵中的幻方 中等
leetcode
程序员侠客行18 小时前
Mybatis二级缓存实现详解
java·数据库·后端·架构·mybatis
源码获取_wx:Fegn089518 小时前
基于springboot + vue健康茶饮销售管理系统
java·vue.js·spring boot·后端·spring
girl-072618 小时前
2025.12.29实验题目分析总结
数据结构·算法
小帅学编程18 小时前
Spring(侧重注解开发)
java·学习·spring
点云SLAM18 小时前
Truncated Least Squares(TLS 截断最小二乘)算法原理
算法·slam·位姿估计·数值优化·点云配准·非凸全局优化·截断最小二乘法