14.LeetCode刷题For Swift·633. 两数的平
2021-01-05 本文已影响0人
富城
1、原题
Input: 5
Output: True
Explanation: 1 * 1 + 2 * 2 = 5
题目描述:判断一个非负整数是否为两个整数的平方和。
2、思路
使用双指针方法,假设给的值就是结果,然后判断是否是
3、代码
class Solution {
func judgeSquareSum(_ c: Int) -> Bool {
// 双指针法,假设目标值就是结果
var i = 0
var j = Int(sqrt(Double(c)))
while i <= j {
let pow = i * i + j * j
if pow > c {
j -= 1
} else if pow < c {
i += 1
} else {
return true
}
}
return false
}
}