LeetCode题目-367

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2022-12-21 06:40:36

简介 LeetCode题目-367


✏基础刷题之(367. Valid Perfect Square)


. 2019-11-12 星期二 开始吧 库里的深夜食堂

✏描述

给定一个整型数值,写一个函数,如果这个数是一个完美的平方数就返回true,否则返回false。


✏题目实例


✏题目分析

二分就可以解题,这道题用正常版的二分就行了,二分找中位数,两个分支,选择了左中位数,那么左中位数的分支一定要排除掉中位值(否则死循环),右分支就不需要排除,最后必然存在left==right ,在进一步判断即可。

✏最终实现代码

    /**
     * @param Integer $num
     * @return Boolean
     */
    function isPerfectSquare($num)
{
        $left = 0;
        $right = $num;
        while ($left < $right) {
            $middle = ($left + $right) >> 1;
            if ($middle * $middle < $num) {
                $left = $middle + 1;
            } else {
                $right = $middle;
            }

        }
        return $left * $left == $num ? true : false;
    }


转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云