###Sum of Square Numbers
参考:https://leetcode.com/problems/sum-of-square-numbers/
###問題の内容:
非負の整数c、a2+b2=cの条件を満足の整数a、bがあるかどうかを判断する。
###例:
例1:
Input: c = 5
Output: true
Explanation: 1 * 1 + 2 * 2 = 5
例2:
Input: c = 3
Output: false
###ヒント:
0 <= c <= 231 - 1
この問題は、普通のループを使って、解決できますが、
DoublePointerを使う方がいいと思います。
条件は:
0 <= aa + bb <= c
0 <= a,b <= sqrt(c)
class Solution {
fun judgeSquareSum(c: Int): Boolean {
var a = 0
var b = Math.sqrt(c.toDouble()).toInt()
while(a <= b){
when{
a * a + b * b == c -> return true
a * a + b * b > c -> b--
else -> a++
}
}
return false
}
}