LeetCode 633.平方数之和
题目
给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a^2 + b^2 = 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
提示:
0 <= c <= 2^31 - 1
思路
这题我的思路就是遍历从1开始到sqrt(c)
为止,将sqrt(c - i * i)
与(int)sqrt(c - i * i)
进行比较。如果相等的话,说明可以拆成平方和的形式,如果不等的话,则不能。另外有两个特殊值,0与1要单独拿出来讨论。
代码
1 |
|
LeetCode 633.平方数之和
https://excelius.xyz/leetcode-633-平方数之和/