平方数之和(力扣)双指针 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;
    }
}
相关推荐
yaoxin52112313 小时前
388. Java IO API - 处理事件
java·服务器·数据库
JAVA学习通13 小时前
AI 工作流编排系统的任务拆分、重试与观测:2026年工程实践深度解析
java·人工智能·spring
zzzsde13 小时前
【Linux】线程概念与控制(1)线程基础与分页式存储管理
linux·运维·服务器·开发语言·算法
穿条秋裤到处跑13 小时前
每日一道leetcode(2026.04.23):等值距离和
算法·leetcode·职场和发展
凤山老林13 小时前
27-Java final 关键字
java·开发语言
少许极端13 小时前
算法奇妙屋(四十九)-贡献法
java·算法·leetcode·贡献法
卷毛的技术笔记13 小时前
从零到一:深入浅出分布式锁原理与Spring Boot实战(Redis + ZooKeeper)
java·spring boot·redis·分布式·后端·面试·java-zookeeper
武帝为此13 小时前
【特征选择方法】
算法·数学建模
天空属于哈夫克313 小时前
行为审计与全链路追踪:私域自动化执行的安全性设计
java·运维·微服务
skilllite作者13 小时前
SkillLite 技术演进笔记:Workspace、沙箱与进化
java·开发语言·前端·笔记·安全·agentskills