633. Sum of Square Numbers
Difficulty: Easy
Topics: Math
Similar Questions:
Problem:
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
Solutions:
class Solution {
public:
bool judgeSquareSum(int c) {
long left = 0;
long right = sqrt(c) + 1;
while (left <= right) {
long sum = left * left + right * right;
if (sum == c) return true;
else if (sum > c) {
--right;
} else {
++left;
}
}
return false;
}
};