题目描述:
LeetCode 633. Sum of Square Numbers
Given a non-negative integer c
, your task is to decide whether there're two integers a
and b
such that a2 + b2 = c.
Example 1:
Input: 5 Output: True Explanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: 3 Output: False
题目大意:
给定非负整数c,判断是否存在两个整数a和b,满足a^2 + b^2 = c
解题思路:
在范围[0, int(sqrt(c))]内枚举a,判断c - a^2是否为完全平方数
Python代码:
class Solution(object):
def judgeSquareSum(self, c):
"""
:type c: int
:rtype: bool
"""
for a in range(int(c ** 0.5) + 1):
b2 = c - a ** 2
if (int(b2 ** 0.5)) ** 2 == b2:
return True
return False
本文链接:http://bookshadow.com/weblog/2017/07/02/leetcode-sum-of-square-numbers/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。