平方数之和(力扣)双指针 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;
    }
}
相关推荐
徒 花6 分钟前
Python知识学习08
java·python·算法
chushiyunen6 分钟前
milvus笔记、常用表结构
笔记·算法·milvus
Lyyaoo.7 分钟前
【JAVA基础面经】== 和 equals() 的区别
java·开发语言·jvm
liliangcsdn17 分钟前
ChromaDB距离计算公式示例
人工智能·算法·机器学习
人道领域18 分钟前
【LeetCode刷题日记】242.字母异位词
算法·leetcode·职场和发展
lifallen19 分钟前
Flink Agent:RunnerContext 注入与装配演进分析
java·大数据·人工智能·语言模型·flink
爱丽_21 分钟前
Tomcat 从 Socket 到 Servlet:机制主线、参数调优与线上排障(实战)
java·servlet·tomcat
小江的记录本25 分钟前
【JEECG Boot】 JEECG Boot——数据字典管理 系统性知识体系全解析
java·前端·spring boot·后端·spring·spring cloud·mybatis
卖男孩的小火柴.27 分钟前
java内置方法总结及基础算法
java·算法
旖-旎27 分钟前
链表(两两交换链表中的节点)(2)
数据结构·c++·学习·算法·链表·力控