平方数之和(力扣)双指针 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 分钟前
【java安全】shiro鉴权绕过
java·开发语言·安全
k***92167 分钟前
【Linux】进程概念(六):地址空间核心机制
linux·运维·算法
与遨游于天地7 分钟前
Spring 的10个核心能力,对框架开发的启示
java·后端·spring
xu_yule9 分钟前
算法基础-字符串哈希
算法·哈希算法·散列表
lixzest12 分钟前
C++中经常用的头文件介绍
数据结构·c++·算法
独自归家的兔16 分钟前
通义千问3-VL-Plus - 界面交互(本地图片改进)
java·人工智能·交互
保持低旋律节奏17 分钟前
linux——进程调度(时间片+优先级轮转调度算法O(1))
linux·运维·算法
浔川python社22 分钟前
《C++ 小程序编写系列》(第四部):实战:简易图书管理系统(类与对象篇)
java·开发语言·apache
狂炫冰美式34 分钟前
当硅基神明撞上人类的“叹息之墙”:距离证明哥德巴赫猜想,AI还有多远?
前端·算法·架构
楠枬39 分钟前
OpenFeign
java·spring cloud·微服务