码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 367. Valid Perfect Square

时间:2016-12-28 07:49:10      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:bsp   self   osi   else   arc   function   amp   sqrt   als   

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

标签:bsp   self   osi   else   arc   function   amp   sqrt   als   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!