Sobes.tech
Senior

Implement a method: determine whether a number is a perfect square.

sobes.tech AI

Answer from AI

To determine if a number is a perfect square, you need to check if there exists an integer whose square equals that number.

Example implementation in Java:

public class PerfectSquare {
    public static boolean isPerfectSquare(int num) {
        if (num < 0) return false; // negative numbers cannot be squares
        int left = 0, right = num;
        while (left <= right) {
            int mid = left + (right - left) / 2;
            long square = (long) mid * mid; // use long to avoid overflow
            if (square == num) {
                return true;
            } else if (square < num) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        System.out.println(isPerfectSquare(16)); // true
        System.out.println(isPerfectSquare(14)); // false
    }
}

This uses binary search over the range from 0 to num, which is efficient for large numbers.