平方数之和(力扣)双指针 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;
    }
}
相关推荐
-dzk-3 分钟前
【哈希】LC 49.字母异位词分组
算法·哈希算法
·醉挽清风·15 分钟前
学习笔记—算法—算法题
笔记·学习·算法
2401_8541515518 分钟前
嵌入式传感器驱动开发深度解析——从 I2C/SPI 驱动到数据融合算法
驱动开发·算法
cpp_250119 分钟前
P6625 [省选联考 2020 B 卷] 卡牌游戏
数据结构·c++·算法·前缀和·贪心·洛谷题解·省选
没钥匙的锁128 分钟前
16-Java反射机制:Spring IOC背后的核心技术
java·开发语言·spring
geinvse_seg40 分钟前
飞算JavaAI:把企业采购协同需求拆成一套可运行的慧采平台
java·ai·飞算
石一峰6991 小时前
驱动:私有数据为什么要在三个地方各挂一遍?
数据库·python·算法
烛影摇红透纱窗2 小时前
ForkJoinPool 与工作窃取
java
卡提西亚2 小时前
leetcode-179. 最大数
python·算法
浩瀚地学2 小时前
【面试算法笔记】0302-哈希表-哈希表实现
java·经验分享·笔记·算法·面试