DEV Community

Abhishek Chaudhary
Abhishek Chaudhary

Posted on

Valid Perfect Square

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.

Example 1:

Input: num = 16
Output: true

Example 2:

Input: num = 14
Output: false

Constraints:

  • 1 <= num <= 2^31 - 1

SOLUTION:

class Solution:
    def isPerfectSquare(self, num: int) -> bool:
        beg = 0
        end = num
        while beg <= end:
            mid = (beg + end) // 2
            if mid * mid == num:
                return True
            elif beg == end:
                break
            elif mid * mid > num:
                end = mid
            else:
                beg = mid + 1
        return False
Enter fullscreen mode Exit fullscreen mode

Top comments (0)