633. 平方数之和(双指针)

从BUUCTF RSA4看中国剩余定理在低指数攻击中的实战应用 本文通过BUUCTF RSA4题目实战,详细解析了中国剩余定理(CRT)在RSA低指数攻击中的应用。从五进制数据预处理到CRT代码实现,再到低指数攻击的完整流程,提供了全面的技术指导。文章特别强调了CTF竞赛中常见的进制转换陷阱和大整数处理技巧,帮助密码学爱好者掌握这一重要攻击方法。 阅读详情
package com.heu.wsq.leetcode.double_point;

/**
 * 633. 平方数之和
 * @author wsq
 * @date 2021/4/28
 * 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。
 *
 * 示例 1:
 * 输入:c = 5
 * 输出:true
 * 解释:1 * 1 + 2 * 2 = 5
 *
 * 示例 2:
 * 输入:c = 3
 * 输出:false
 *
 * 链接:https://leetcode-cn.com/problems/sum-of-square-numbers
 */
public class JudgeSquareSum {
    /**
     * 面对问题,首选不是要考虑使用什么算法或者数据结构,要针对问题进行分析,知道问题的解是什么、由什么组成,
     * 当我们确定问题的解是什么了,这时候我们再去思考使用什么样的数据结构或者算法去 快速 的从解空间中查找到解
     * @param c
     * @return
     */
    public boolean judgeSquareSum(int c){
        if(c == 0){
            return true;
        }

        long a = 0;
        long b = (long) Math.sqrt(c);;

        while(a <= b){
            long x = a * a;
            long y = b * b;
            if(x + y == c){
                return true;
            }else if(x + y > c){
                b--;
            }else{
                a++;
            }
        }

        return false;
    }
}

ACM_最快的平方数之和 ACM_最快的平方数之和,一道ACM题目的极速算法 立即下载

相关推荐

城市规划师必备:ArcMap里用这个免费工具,5步完成建筑群通风廊道分析

本文介绍了城市规划中利用ArcMap进行建筑群通风廊道分析的高效方法,重点讲解了迎风面投影指数(FAI)的应用。通过5个步骤,从数据准备到规划应用,帮助规划师快速评估城市通风潜力,优化建筑布局,提升城市风环境质量。

weixin_26800111的博客 412

力扣每日一题:633. 平方数之和

目录题目:633. 平方数之和示例1示例2示例3示例4示例5提示:解题思路解题代码(1)sqrt(2)双指针解题感悟 题目:633. 平方数之和 难度: 中等 题目: 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。 示例1 输入:c = 5 输出:true 解释:1 * 1 + 2 * 2 = 5 示例2 输入:c = 3 输出:false 示例3 输入:c = 4 输出:true 示例4 输入:c = 2 输出:true 示例5 输入:c

aruewds的博客 292

伺服电机的位置控制模式:PP模式与CSP模式的比较

在轮廓位置模式下,上位机给定目标绝对位置(或相对位置)、速度、加速度等参数,伺服内部的轨迹发生器根据这些参数生成目标位置曲线指令,通过伺服驱动器内部实现三环控制(位置环、速度环、力矩环)。如果还不理解,不妨看看下面的类比:轮廓位置模式中,上位控制器对伺服电机说,我给你个位置,怎么去哪,走那条路,那是你自己的事,这个时候伺服电机是有自己的思想的。同期同步位置模式红,上位机控制器对伺服电机的管理就和 严格,除了告诉你目标位置,走那条路都是控制器说的算,伺服电机就是个没有灵魂的工具。重点关注,轮廓位置模式。

m0_49968063的博客 5799

633. 平方数之和

633. 平方数之和 1.题目描述 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。 示例1: 示例2: 2.思路   可以看成是在元素为 0~target 的有序数组中查找两个数,使得这两个数的平方和为 target,如果能找到,则返回 true,表示 target 是两个整数的平方和。   本题和 167. Two Sum II - Input ...

jiangdongxiaobawang的博客 227

别再只调电压了!深入理解数控电源的CC/CV模式与双闭环PID控制(以BUCK电路为例)

本文深入解析数控电源的CC/CV模式与双闭环PID控制技术,以BUCK电路为例,探讨如何通过双闭环控制优化负载突变响应和模式切换稳定性。文章详细介绍了电压环与电流环的协同工作原理、PID参数整定技巧及工程实践中的非线性补偿方法,帮助工程师提升电源设计的智能控制能力。

weixin_27017211的博客 261

保姆级教程:用CellOracle 0.10.13从单细胞数据构建基因调控网络(附完整代码)

本文提供了一份详细的CellOracle 0.10.13使用指南,帮助用户从单细胞数据构建基因调控网络。通过Python接口,即使是生物信息学新手也能快速掌握数据准备、KNN插补、GRN计算及可视化等关键步骤。文章包含完整代码和实用技巧,助力单细胞转录组数据分析。

weixin_42563415的博客 720

【LeetCode】705. Design HashSet 解题报告(Python)

【LeetCode】705. Design HashSet 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/design-hashset/de...

负雪明烛 4108

工程师必收藏,Juniper(Junos)网络设备命令大全

不要直接删除配置 → 使用deactivate配置前先修改大配置用出现风险命令一律用写自动化时一律用格式真正会用 Juniper 的工程师,不是命令多,而是命令用得精。

网络技术联盟站 403

LeetCode #633 平方数之和 双指针

LeetCode #633 平方数之和 题目描述 给定一个非负整数 ccc ,你要判断是否存在两个整数 aaa 和 bbb,使得 a2+b2=ca^2 + b^2 = ca2+b2=c。 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 输出: False 思路分析 思路跟 LeetCode #167 两数之和II - 输入有序数组 双指...

阿玮的博客 226

雨雾天YOLOv8检测拉胯?暗通道去雾+上下文注意力双优化,mAP从58%飙到79%,暴雨也能看清车牌

室外交通监控:高速、省道的雨雾天检测,重点解决小车、货车漏检;车载ADAS系统:雨天行车时的前方车辆、行人识别,需实时性(<40ms);隧道出入口:明暗交界+雾天的复杂场景,暗通道能平衡亮度。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1379

Python爬虫经典案例第67篇:社交媒体平台爬取:Twitter数据采集实战

Twitter(现更名为X)是全球最具影响力的社交媒体平台之一,拥有超过3.3亿月度活跃用户。作为一个实时信息传播平台,Twitter上的数据涵盖了新闻、政治、娱乐、科技等各个领域,具有极高的研究价值:本文将深入探讨Twitter数据采集的技术方案,包括官方API调用、网页爬取和浏览器自动化三种方式。Twitter采用现代化的微服务架构,主要特点包括:Twitter作为全球最大的社交媒体平台,拥有完善的反爬机制:在开始爬取前,需要明确合法的数据采集方式:重要提示:未经授权爬取Twitter数据可能违反服务条

2201_76125261的博客 658

【LeetCode:633. 平方数之和 + 双指针】

【LeetCode:633. 平方数之和 + 双指针】给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。

Coder_ljw的博客 588

LDRA Testbed(TBrun)软件单元测试_操作指南

通过前面的几篇文章,使用Testbed进行软件静态分析的内容已经基本讲解完毕。从这篇文章开始,将继续讲解如何使用TBrun进行软件单元测试、软件集成测试。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 7762

Python 练习 双指针法: LeetCode 633 平方数之和

Python 练习 双指针法: LeetCode 633 平方数之和

weixin_46756690的博客 486

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

力扣633. 平方数之和(双指针)

633. 平方数之和 - 力扣(LeetCode) (leetcode-cn.com) class Solution { public boolean judgeSquareSum(int c) { int sq = (int)Math.sqrt(c); int min = 0; int max = sq; while(min<=max){ long res =(long)min*min+(long.

BJERGSEN的博客 542

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

[M双指针] lc633. 平方数之和(枚举+相向双指针)

【代码】[M双指针] lc633. 平方数之和(枚举+相向双指针)

Y-puyu 的博客 495

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LeetCode633. 平方数之和(Set,双指针)

633. 平方数之和(Set,双指针) 链接:https://leetcode-cn.com/problems/sum-of-square-numbers/solution/633-ping-fang-shu-zhi-he-setshuang-zhi-z-vh55/ 解题思路 解法一: 使用set记录所有小于等于c的平方数,然后遍历,看set中是否包含c-i*i; 解法二: 双指针,i = 0,j = c的平方根,如果ii+jj小于c,i++,r-如果大于c,j-; 代码: 解法一: public boo

weixin_46100881的博客 138

Leetcode 刷题之路 之 算法思想 一、双指针 : 2) 633. 平方数之和

题目描述: 633. 平方数之和 难度简单 给定一个非负整数c,你要判断是否存在两个整数a和b,使得a2+ b2= c。 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 输出: False 题目链接:https://leetcode-cn.com/problems/sum-of-square-numbers/ 思路: 1、因为要判断两个数平方和为一个整数,所以我们需要不断缩小范围,可以认为是从一个有序...

qq_41760343的博客 501

JAVA刷Leecode-玩转双指针- 平方数之和(633)

JAVA刷Leecode-玩转双指针- 平方数之和(633)算法思想内容分类平方数之和(633,medium)(Two Sum 题目的变形题之一)题目描述输入输出样例示例1示例2解题思路1:题解1解题思路2:题解2资源学习 算法思想 双指针一般用来遍历数组,两指针指向不同的元素,从而沟通协调完成任务;也可以延伸到多数组多指针。 大致分为两种情况: 两指针指向同一数组,遍历方向相同且不相交,又称为**滑动窗口**,经常用于区间搜索; 两指针指向同一数组,但遍历方向相反,可以用来进行搜索,待搜索的数组往往是

水鱼的博客 523

【双指针】633. 平方数之和

【双指针】633. 平方数之和 代码 class Solution { public: bool judgeSquareSum(int c) { long low = 0; long high = int(sqrt(c)); while(low <= high) { long sumOf = low * low + high * high; if(sumOf == c)

qq_44653420的博客 1040

双指针 力扣 633. 平方数之和

633. 平方数之和 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 输出: False 思路: 用双指针 , l , r 分别是左,右指针,由题意得 a 和 b 不可能大于或等于 c 的平方根, 故右指针从 c 的平方根开始 代码: class Solution { public: bool judgeSquareSum(int

Gettler的博客 385

【双指针】633.平方数之和

目录 枚举 更好的写法 c++ 双指针 633. 平方数之和 难度中等 给定一个非负整数c,你要判断是否存在两个整数a和b,使得a2+ b2= c。 示例 1: 输入:c = 5 输出:true 解释:1 * 1 + 2 * 2 = 5 示例 2: 输入:c = 3 输出:false 示例 3: 输入:c = 4 输出:true 示例 4: 输入:c = 2 输出:true 示例 5: 输入:c = 1 输出:true ...

7TribeZ的博客 282

LeetCode 633. 平方数之和(双指针)

1. 题目 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 输出: False 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sum-of-square-numbers 著作权归领扣...

Michael是个半路程序员 1077

633. 平方数之和 (双指针)

方法一:双指针 思路类似LeetCode 167 两数之和II 不同的时,这里对j进行了剪枝,j初始化为 (int)Math.sqrt©; class Solution { public boolean judgeSquareSum(int c) { if(c<0) return false; int i = 0, j = (int)Math.s...

qq_37637619的博客 258

633.平方数之和(双指针)

633.平方数之和(双指针)          难度:简单 题目描述: 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a²+ b² = c 。 我的思路: 一开始我用的是两层for循环,结果超出师姐限制,把范围改到0-sqrt(c)也不行。 所以用双指针来解题,简单的多。 总结:解题时,我总是习惯于用自己的逻辑思维来解题,而不是优先考虑算法去解题,这就导致我经常用一些很蠢的方法,容易超出时间限制。 技能补充: 开方代码:Math.sqrt(a) 我的Java代码: int l = 0;

qq_45555403的博客 220

LeetCode.633.平方数之和题解

效率如图所示。

weixin_54231095的博客 353
上一篇: Java集合总结
下一篇: 面试题 16.07. 最大数值(位运算)
Lazy mode
博客等级 码龄10年 13粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值