In this Leetcode Valid Perfect Square problem solution, You are given a positive integer num, write a function which returns True if num is a perfect square else False. Follow up: Do not use any built-in library function such as sqrt.

Leetcode Valid Perfect Square problem solution


Problem solution in Python.

class Solution:
    def isPerfectSquare(self, num: int) -> bool:
        x = 0
        while x*x < num:
            x += 1
        return x*x == num



Problem solution in Java.

class Solution {
    public boolean isPerfectSquare(int num) {
         for (int i = 1; i * i <= num; i++) {
            if ((num % i == 0) && (num / i == i)) {
                return true;
            }
        }
        return false; 
    }
}


Problem solution in C++.

class Solution {
public:
    bool isPerfectSquare(int x) {
        int l=1,r=x;
        if(x<1)
        {
            return false;
        }
        if(x==1)
        {
            return true;
        }
        while(l<=r)
        {
           long long int mid=l+ floor((r-l)/2);
            if((mid*mid)==x)
            {
                return true;
            }
            if(mid>x/mid)//mid*mid>x
            {
                r=mid-1;
            }
            else
            {
                l=mid+1;
            }
        }
        return false;
    }
};


Problem solution in C.

bool isPerfectSquare(int num){

long int i=1,squareroot=0;
for(i=1;i<=num;i++)
{
    squareroot=i*i;
    if(squareroot==num)
        return true;
    if(squareroot>num)
        return false;
}
return false;
}