Sum of Square Numbers
Example
public class Solution {
/**
* @param num: the given number
* @return: whether whether there're two integers
*/
public boolean checkSumOfSquareNumbers(int num) {
// write your code here
if(num == 0 || num == 1){
return true;
}
for (long a = 0; a* a <= num; a++ ){
//b^2 = num - a ^2;
int b = num - (int)(a*a);
if(binarySearch(b)){
return true;
}
}
return false;
}
public boolean binarySearch(int num){
if(num == 0 || num == 1)
return true;
long start = 0, end = (long)num -1;
while(start + 1 < end){
long mid = start+ (end - start)/2;
if(mid * mid < num){
start = mid;
}else{
end = mid;
}
}
if(start * start == (long)num || end*end == (long)num)
return true;
return false;
}
}Last updated