给定一个非负整数 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)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
1024·人与机器共同进化
东西文库 / 译言·东西文库/电子工业出版社 / 2013-12-20 / 55元
《1024》:国内第一本专注于科技文化的mook。 本期创刊号将目光定焦在“人与机器”这个超热点领域。 如果把机器获得思维能力看作是一种进化, 那人类具备不朽之躯同样也是一种进化。 这是一个野心勃勃但又充满不确定性的未来。 在我们一厢情愿地猜测机器将在不远的将来赶超自己而惶惶不可终日时,人类其实还有一个机会——变得更像机器。这并非科幻小说,而是正在发生的现实。人类创造......一起来看看 《1024·人与机器共同进化》 这本书的介绍吧!