平方数之和(力扣)双指针 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;
    }
}
相关推荐
2301_822366352 分钟前
C++中的智能指针详解
开发语言·c++·算法
郑州光合科技余经理6 分钟前
同城配送调度系统实战:JAVA微服务
java·开发语言·前端·后端·微服务·中间件·php
独自破碎E18 分钟前
【模拟】顺时针旋转矩阵
java·线性代数·矩阵
u01092727127 分钟前
C++中的模板方法模式
开发语言·c++·算法
TsengOnce29 分钟前
Docker 安装达梦8数据库-5步成功
java·数据库
树码小子33 分钟前
Spring框架:Spring程序快速上手
java·后端·spring
重生之我是Java开发战士34 分钟前
【优选算法】滑动窗口:长度最小的子数组,无重复字符的最长子串,最大连续1的个数,将x减到0的最小操作数,水果成篮,异位词,串联所有单词的子串,最小覆盖子串
算法
李松桃38 分钟前
python第三次作业
java·前端·python
马士兵教育41 分钟前
计算机专业学生入行IT行业,编程语言如何选择?
java·开发语言·c++·人工智能·python
本妖精不是妖精1 小时前
搭建 JNI 开发环境:使用 IntelliJ IDEA 和 CLion
java