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

Valid Perfect Square

时间:2016-08-16 07:02:12      阅读:160      评论: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

 

Credits:
Special thanks to @elmirap for adding this problem and creating all test cases.

 

Show Company Tags
Hide Tags

 

 
public class Solution {
    public boolean isPerfectSquare(int num) {
        long start = 0;
        long end = num/2;
        if(num==1)return true;
        while(start<=end)
        {
            long mid = (long)start + (end-start)/2;
            long val = (long)mid * mid;
            if(val==num) return true;
            else if(val<num)
            {
                start = mid+1;
            }
            else
            {
                end = mid-1;
            }
        }
        
        return false;
    }
}

 

 

Valid Perfect Square

标签:

原文地址:http://www.cnblogs.com/hygeia/p/5774930.html

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