0%

633. 平方数之和

633. 平方数之和

是一个排序Two sum的变种,范围是0~sqrt(c)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
bool judgeSquareSum(int c) {
long l = 0, r = sqrt(c);
while(l <= r)
{
auto sum = l * l + r * r;
if(sum > c)
--r;
else if(sum < c)
++l;
else
return true;
}
return false;
}
};