LeetCode日本語修行15日目- [633-平方数の総和]
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 <= a*a + b*b <= 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
}
}
Author And Source
この問題について(LeetCode日本語修行15日目- [633-平方数の総和]), 我々は、より多くの情報をここで見つけました https://qiita.com/Aethey/items/a7bb62d47260582ea7de著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .