給定乙個非負整數 c ,你要判斷是否存在兩個整數 a 和 b,使得 a2 + b2 = c。
示例1:
輸入: 5
輸出: true
解釋: 1 * 1 + 2 * 2 = 5
示例2:
輸入: 3
輸出: false
public
class
solution
return
false;}
}
雙指標列舉
class
solution
else
if(c - j*j < i*i)
else
}return
false;}
}
費馬平方和定理:乙個非負整數 c 能夠表示為兩個整數的平方和,當且僅當 c 的所有形如 4k+3 的質因子的冪次均為偶數。
對 c 進行質因數分解,再判斷形如 4k+3 的質因子的冪次是否均為偶數
public
class
solution
if(i %4==
3&& count %2!=
0)return
false;}
}return c %4!=
3;}}
LeetCode 633 平方數之和
題目 給定乙個非負整數c,你要判斷是否存在兩個整數a和b,使得 a2 b2 c。示例1 輸入 5 輸出 true 解釋 1 1 2 2 5 示例2 輸入 3 輸出 false 思路 利用雙指標思想,左指標置0,右指標置目標值平方根向下取整。兩指標平方和比較 若迴圈結束未找到平方和與目標值相同的情況,...
633 平方數之和
給定乙個非負整數 c 你要判斷是否存在兩個整數 a 和 b,使得 a2 b2 c。示例1 示例2 可以看成是在元素為 0 target 的有序陣列中查詢兩個數,使得這兩個數的平方和為 target,如果能找到,則返回 true,表示 target 是兩個整數的平方和。本題和 167.two sum ...
633 平方數之和
給定乙個非負整數 c 你要判斷是否存在兩個整數 a 和 b,使得 a2 b2 c 示例 1 輸入 c 5 輸出 true 解釋 1 1 2 2 5 示例 2 輸入 c 3 輸出 false 示例 3 輸入 c 4 輸出 true 示例 4 輸入 c 2 輸出 true 示例 5 輸入 c 1 輸出 ...