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: 5Output: TrueExplanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: 3Output: False
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class Solution(object): def judgeSquareSum(self, c): """ :type c: int :rtype: bool """ maxs = 1 while(maxs * maxs) < c: maxs += 1 low = 0 high = maxs while low <= high: if ((low * low) + (high * high)) == c: return True if ((low * low) + (high * high)) < c: low += 1 if ((low * low) + (high * high)) > c: high -= 1 return False |
原文:http://www.cnblogs.com/xiejunzhao/p/7173128.html