633. 平方数之和
给定一个非负整数 c ,判断是否存在两个整数 a 和 b,使得 a2 + b2 = c
示例1:
输入:c = 5
输出:true
解释:1 * 1 + 2 * 2 = 5
func judgeSquareSum(c int) bool {
//建立边界条件
if c == 0 || c == 1 {
return true
}
//初始化两指针索引位置,右指针,通过开根号,缩小索引范围
left, right := 0, int(math.Pow(float64(c), 0.5))
//建立循环结束条件
for left <= right {
//当符合条件时输出
if left*left+right*right == c {
return true
}
//判断平方和的大小
if left*left+right*right > c {
right--
} else {
left++
}
}
return false
}