一道简单的算法题
leetcode633,给定一个非负整数c,你要判断是否存在两个整数a和b,使得a2+ b2= c。
采用双指针法。
这是我最初的代码,测试用例在2147482647时报错了。显然,i*i+j*j超出32位整数所能表示的最大值了。
bool judgeSquareSum(int c) {
int i = 0,j = sqrt(c);
while(i <= j) {
int s = i*i + j*j;
...
原创
2021-07-18 20:58:43 ·
69 阅读 ·
0 评论