平方数之和(力扣)双指针 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;
    }
}
相关推荐
lqqjuly1 分钟前
一致性模型深度解析
人工智能·深度学习·算法
RisunJan3 分钟前
Linux命令-patch (为开放源代码软件安装补丁程序)
linux·服务器·算法
霸道流氓气质9 分钟前
Spring AI Alibaba Skills 完整实战:从零构建智能会议助手
java·人工智能·spring
一条大祥脚19 分钟前
ABC460贪心|多源BFS|数论|计数|线段树|树的直径
算法·宽度优先
极客先躯20 分钟前
高级java每日一道面试题-2026年02月04日-实战篇[Docker]-如何在容器之间共享数据?
java·运维·网络·docker·容器·自动化·高级面试题
真实的菜20 分钟前
微服务架构痛点
java·微服务·架构
小楊不秃头21 分钟前
Spring:Bean的存储
java·spring·bean
西凉的悲伤22 分钟前
多线程彻底掌握 CompletableFuture:从入门到项目实战
java·多线程·future·completable·异步
用户2986985301422 分钟前
Java 中的 HTML 解析:从文件读取、URL 抓取到数据提取
java·后端
plainGeekDev22 分钟前
ContentProvider → Room + Repository
android·java·kotlin