首页 > 其他 > 详细

Leetcode 367. Valid Perfect Square

时间:2016-12-28 07:47:42      阅读:142      评论:0      收藏:0      [点我收藏+]

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

本题可以用binary search。

class Solution(object):
    def isPerfectSquare(self, num):
        """
        :type num: int
        :rtype: bool
        """
        low, high = 1, num
        while low <= high:
            mid = (high + low)//2
            if mid**2 == num:
                return True
            elif mid**2 > num:
                high = mid - 1
            else:
                low = mid + 1
        return False

 

Leetcode 367. Valid Perfect Square

原文:http://www.cnblogs.com/lettuan/p/6228096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!