平方数之和(力扣)双指针 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;
    }
}
相关推荐
p***q7814 小时前
【保姆级教程】apache-tomcat的安装配置教程
java·tomcat·apache
历程里程碑14 小时前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
2501_9411486114 小时前
C++实时数据处理实战:多线程与异步IO结合高性能代码解析
java·后端·struts
u***u68514 小时前
C++在系统中的异常处理
java·开发语言·c++
少许极端14 小时前
算法奇妙屋(十四)-简单多状态dp问题
算法·动态规划·图解算法·简单多状态dp·打家劫舍问题·买卖股票问题全解
空空kkk14 小时前
SpringMVC——拦截器
java·数据库·spring·拦截器
文涛是个小白呀14 小时前
Java集合大调研
java·学习·链表·面试
我也爱吃馄饨14 小时前
写的webpack插件如何适配CommonJs项目和EsModule项目
java·前端·webpack
Seven9715 小时前
剑指offer-43、左旋转字符串
java
梵得儿SHI15 小时前
(第七篇)Spring AI 基础入门总结:四层技术栈全景图 + 三大坑根治方案 + RAG 进阶预告
java·人工智能·spring·springai的四大核心能力·向量维度·prompt模板化·向量存储检索