題目:
給定乙個非負整數c
,你要判斷是否存在兩個整數a
和b
,使得 a2 + b2 = c。
示例1:
輸入: 5示例2:輸出: true
解釋: 1 * 1 + 2 * 2 = 5
輸入: 3思路:輸出: false
利用雙指標思想,左指標置0,右指標置目標值平方根向下取整。兩指標平方和比較:
若迴圈結束未找到平方和與目標值相同的情況,則不存在。
**:
publicclass
p633
int left = 0;
int right = (int
) math.sqrt(c);
intcursum;
while (left else
if (cursum else
}return
false
; }
}
leetcode 633 平方數之和
給定乙個非負整數 c 你要判斷是否存在兩個整數 a 和 b,使得 a2 b2 c。示例1 輸入 5 輸出 true 解釋 1 1 2 2 5示例2 輸入 3 輸出 falsepublic class solution return false 雙指標列舉 class solution else if...
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 輸出 ...