Isaac Emmanuel
15 Jun 2024•EasyC++ / Python / TypeScript

Valid Perfect Square

C++, Python and TypeScript solutions for Valid Perfect Square.

The Valid Perfect Square solutions are below.

Solution files

Python•valid-perfect-square/synced-solution.py
def isPerfectSquare(num):
    if num < 1:
        return False

    left, right = 1, num
    while left <= right:
        mid = (left + right) // 2
        square = mid * mid

        if square == num:
            return True
        elif square < num:
            left = mid + 1
        else:
            right = mid - 1

    return False
C++•valid-perfect-square/synced-solution.cpp
class Solution {
public:
    bool isPerfectSquare(int num) {
        if (num < 1) return false;

        long left = 1, right = num;
        while (left <= right) {
            long mid = (left + right) / 2;
            long square = mid * mid;

            if (square == num) {
                return true;
            } else if (square < num) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }

        return false;
    }
};
TypeScript•valid-perfect-square/synced-solution.ts
function isPerfectSquare(num: number): boolean {
    if (num < 1) return false;

    let left = 1, right = num;
    while (left <= right) {
        const mid = Math.floor((left + right) / 2);
        const square = mid * mid;

        if (square === num) {
            return true;
        } else if (square < num) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }

    return false;
}