美文网首页
14.LeetCode刷题For Swift·633. 两数的平

14.LeetCode刷题For Swift·633. 两数的平

作者: 富城 | 来源:发表于2021-01-05 08:07 被阅读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
        }
    }
    

    相关文章

      网友评论

          本文标题:14.LeetCode刷题For Swift·633. 两数的平

          本文链接:https://www.haomeiwen.com/subject/upnmoktx.html