Skip to content

Latest commit

 

History

History
22 lines (21 loc) · 580 Bytes

File metadata and controls

22 lines (21 loc) · 580 Bytes

Screen Shot 2023-03-05 at 12 54 32 AM

/**
 * @param {number} num
 * @return {boolean}
 */
var isPerfectSquare = function(num) {
    let start = 1, end = num;
    while(start <= end) {
        let mid = Math.floor((start + end) / 2);
        if(mid * mid === num) {
            return true;
        } else if(mid * mid < num) {
            start = mid + 1;
        } else {
            end = mid - 1;
        }
    }
    return false;
};