367. Valid Perfect Square

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
class Solution {
    public boolean isPerfectSquare(int num) {
        if(num ==1) return true;
        int start = 1;
        int end = num;
        while(start<end){
            int mid = start + (end-start)/2;
            if(mid*mid == num){
                return true;
            }
            if(mid < num/mid){
                start = mid+1;
            }
            else{
                end = mid;
            }
        }
        return false;
    }
}

This site Original article All followed" Attribution—NonCommercial—ShareAlike 4.0 (CC BY-NC-SA 4.0) ”。 Please keep the following marks for sharing and interpretation:

Original author: Jake Tao Source: 「367. Valid Perfect Square」

Praise 149
0 0 149

Further reading

Post a reply

Log in can only be commented on later
Share this page
Back to top