美文网首页
leetcode:有效的完全平方数

leetcode:有效的完全平方数

作者: 简书帅气的昵称已被使用 | 来源:发表于2019-06-17 23:29 被阅读0次

题目

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-perfect-square

给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。

说明:不要使用任何内置的库函数,如 sqrt。

示例 1:

输入:16
输出:True
示例 2:

输入:14
输出:False

解法

  • 解法一
func isPerfectSquare(num int) bool {
    halfNum := num / 2

    for {
        powerV := halfNum * halfNum

        if powerV > num {
            halfNum = halfNum / 2
            continue
        }

        if powerV < num {
            halfNum++
            powerV = halfNum * halfNum
            if powerV > num {
                return false
            }
            continue
        }

        if powerV == num {
            return true
        }
    }
}
  • 解法二
func isPerfectSquare(num int) bool {
    i := 1
    for num > 0 {
        num -= i
        i += 2
    }

    if num == 0 {
        return true
    }

    return false
}

相关文章

网友评论

      本文标题:leetcode:有效的完全平方数

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