平方數之和
阿新 • • 發佈:2020-08-17
給定一個非負整數c,你要判斷是否存在兩個整數 a 和 b,使得a2 + b2 = c。
示例1:
輸入: 5
輸出: True
解釋: 1 * 1 + 2 * 2 = 5
示例2:
輸入: 3
輸出: False
來源:LeetCode
package 雙指標.兩數平方和; public class Application { public static void main(String[] args) { boolean b = judgeSquareSum(26); System.out.println(b); } /** * 判斷一個非負整數是否為兩個整數的平方和*/ public static boolean judgeSquareSum(int target){ if(target<0){ return false; } double sqrt = Math.sqrt(target); System.out.println("sqrt:"+sqrt); int i = 0; int j = (int)sqrt; while (i<=j){ int sum = i*i + j*j;if (sum == target){ System.out.println("i:"+ i); System.out.println("j:"+ j); return true; }else if (sum>target){ j--; }else { i++; } } return false; } }