leetcode 367. Valid Perfect Square(golang解题)

    xiaoxiao2021-03-25  78

    Given a positive integer num, write a function which returns True if num is a perfect square else False.

    Note: Do not use any built-in library function such as sqrt.

    Example 1:

    Input: 16 Returns: True

    Example 2:

    Input: 14 Returns: False

    解题方法,用二分法。因为说明了是正数,所以num>=1。

    func isPerfectSquare(num int) bool { if num == 1 { return true } left, right := 0, num/2 for left <= right { mid := (left + right) / 2 val := mid * mid if val == num { return true } else if val > num { right = mid - 1 } else { left = mid + 1 } } return false }

    转载请注明原文地址: https://ju.6miu.com/read-38158.html

    最新回复(0)