平方数之和(力扣)双指针 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;
    }
}
相关推荐
锦瑟弦音14 小时前
Java与SQL基础知识总结
java·开发语言
停水咋洗澡14 小时前
Redis Sentinel高可用实战:主从自动故障转移
java·redis·sentinel
ch.ju14 小时前
Java程序设计(第3版)第二章——引用数据类型:String
java
W230357657314 小时前
经典算法详解:最大子数组和(暴力 / 分治 / 动态规划 / 线段树)
算法·动态规划·最大字段和
呼啦啦56114 小时前
leetcode练习——栈和队列
算法·leetcode·职场和发展
yugi98783814 小时前
基于最大信息熵的粒子群优化算法图像分割(MATLAB实现)
开发语言·算法·matlab
yaoxin52112314 小时前
376. Java IO API - 使用 Globbing 和自定义 Filter 过滤目录内容
java·开发语言·python
手握风云-14 小时前
JavaEE 初阶第三十一期:JVM,一次Full GC的架构级思考(下)
java·java-ee
Mr YiRan14 小时前
JNI技术之手写JNIEnv与静态缓存与native异常
java·c++
lifallen14 小时前
Flink Agents:Python 执行链路与跨语言 Actor (PyFlink Agent)
java·大数据·人工智能·python·语言模型·flink