## Question

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 = 16Output:true

**Example 2:**

Input:num = 14Output:false

**Constraints:**

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

## Python Solution

class Solution: def isPerfectSquare(self, num: int) -> bool: l=0 r=num while l<=r: m = l+(r-l)//2 if m*m == num: return True break elif m*m < num: l = m+1 else: r= m-1 return False