给定一个非负整数 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)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 算法题:两数之和
- LeetCode-1-两数之和
- Leetcode 1:两数之和
- LeetCode题解 - 1. 两数之和
- LeetCode 第 1 号问题:两数之和
- LeetCode 1:两数之和 Two Sum
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C语言程序开发范例宝典
2010-1 / 59.00元
《C语言程序开发范例宝典》全面介绍了应用C语言进行开发的各种技术和技巧,全书共分12章,内容包括基础知识、指针、数据结构、算法、数学应用、文件操作、库函数应用、图形图像、系统调用、加解密与安全性、游戏、综合应用等。全书共提供300个实例,每个实例都突出了其实用性。 《C语言程序开发范例宝典》既可作为C程序的初学者学习用书,也可作为程序开发人员、相关培训机构老师和学生的参考用书。一起来看看 《C语言程序开发范例宝典》 这本书的介绍吧!