平方数之和(力扣)双指针 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;
    }
}
相关推荐
范什么特西1 分钟前
Tomcat加Maven配置
java·tomcat·maven
人生导师yxc1 分钟前
IDE缓存配置等位置更改(自存)
java·ide·intellij-idea
indexsunny2 分钟前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景的应用
java·spring boot·微服务·面试·kafka·prometheus·电商
甲枫叶3 分钟前
【claude产品经理系列13】核心功能实现——需求的增删改查全流程
java·前端·人工智能·python·产品经理·ai编程
时艰.4 分钟前
分布式事务在电商项目中的应用
java·分布式
倚肆4 分钟前
Spring WebSocket 核心注解详解
java·websocket·spring
浅念-7 分钟前
C++ STL list 容器
开发语言·数据结构·c++·经验分享·笔记·算法·list
重生之后端学习8 分钟前
39. 组合总和
java·数据结构·算法·职场和发展·深度优先
Frostnova丶10 分钟前
LeetCode 868. 二进制间距
算法·leetcode
QQ 313163789011 分钟前
文华财经指标公式
java