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.