平方数之和(力扣)双指针 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;
    }
}
相关推荐
邵奈一2 分钟前
让WorkBuddy用上OpenCode免费模型:Magpie小白教程
算法
慧都小项2 分钟前
图解 MyEclipse Deployment Assembly:资源如何进入部署产物?
java·ide·tomcat·maven·myeclipse·部署排查
Wang's Blog5 分钟前
Java 项目实战: 交友项目 - MongoDB基础总结与自检清单
java·mongodb·交友
鬼手点金11 分钟前
消息的四种角色
java·前端·人工智能·git·深度学习
zzu123zsw12 分钟前
面对多 RPC 扇入超时崩溃:深入 asyncTool 核心 DAG 编排与线程池隔离防护
java·网络·spring boot·网络协议·rpc·并发编程
snpgroupcn22 分钟前
SAP 系统退役的归档架构怎么设计:可检索、可理解、可追溯、可证明
java·数据库·架构
文丑颜不良啊29 分钟前
LeetCode476~500题目解析
java·leetcode
雨落在了我的手上32 分钟前
JavaEE初级(1):计算机是如何⼯作的
java·java-ee
VimorphTech34 分钟前
文件名是 MP4 就能处理?用 ffprobe 检查视频流、音轨和时长
java·音视频开发