[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/jakehoare/leetcode/master/java/367_Valid_Perfect_Square.java [Back]  [Original]

/*
https://leetcode.com/problems/logger-rate-limiter/
Given a positive integer num, write a function which returns True if num is a perfect square else False.

Binary search the range from 1 to n inclusive.  Use long for mid to avoid overflow with mid * mid.
Return false if left and right are inverted.
Time - O(log n)
Space - O(1)
*/

public class Solution {
    public boolean isPerfectSquare(int num) {
        long left = 1;
        long right = num;

        while (left  num)   // mid too big, sqrt(num) must be LHS of mid
                right = mid - 1;
            else
                left = mid + 1;
        }

        return false;
    }
}

Web Proxy Viewer  |  New URL  |  Original Page