LeetCode每日一题:平方数之和(No.633)

栏目: 编程工具 · 发布时间: 5年前

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a 的平方加 b 的平方等于 c 。
复制代码

示例:

输入: 5
输出: True
解释: 1 * 1 + 2 * 2 = 5

输入: 3
输出: False
复制代码

思考:

这题因为 a * a + b * b = c,所以 a < 根号c,b < 根号c。
所以可以用两个变量i = 0,j = 根号c,
当 i <= j 时,计算i * i + j * j 
当结果小于c则i++,否则j--,
若结果等于c则返回true。
复制代码

实现:

class Solution {
    public boolean judgeSquareSum(int c) {
        int i = 0;
        int j = (int) Math.sqrt(c);
        while (i <= j) {
            int num = i * i + j * j;
            if (num == c) {
                return true;
            }
            if (num < c) {
                i++;
            } else {
                j--;
            }
        }
        return false;
    }
}
复制代码

以上所述就是小编给大家介绍的《LeetCode每日一题:平方数之和(No.633)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法设计与分析基础

算法设计与分析基础

Anany Levitin / 潘彦 / 清华大学出版社 / 2015-2-1 / 69.00元

作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。《算法设计与分析基础(第3版)》作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些......一起来看看 《算法设计与分析基础》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具