기록하는 공간

[leetcode/java] 367. Valid Perfect Square 본문

알고리즘/leetcode

[leetcode/java] 367. Valid Perfect Square

llollhh_ 2020. 5. 9. 18:50
class Solution {
    
    public boolean isPerfectSquare(int num) {
        if (num == 0 || num == 1) return true;
        
        long left = 1;
        long right = num / 2;
        long mid = 0;
        
        long nums = (long)num;
        
        while (left <= right) {
            mid = (left + right) / 2;

            long temp = mid * mid;
            
            if (temp == nums) {
                return true;
            } else {
                if (temp < num) {
                    left = mid + 1;
                } else {
                    right = mid - 1;
                }
            }
        }
        
        return false;
    }
}
Comments