[LeetCode] #367 有效的完全平方数

时间:2021-09-21 23:39:27   收藏:0   阅读:24

给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。

进阶:不要 使用任何内置的库函数,如  sqrt 。

输入:num = 16

输出:true

二分法查找

class Solution {
    public boolean isPerfectSquare(int num) {
        if(num < 2) return true;
        long l = 2, h = num / 2, m;
        while (l <= h) {
            m = l + (h - l) / 2;
            if (m * m == num) return true;
            if (m * m > num)  h = m - 1;
            else l = m + 1;
        }
        return false;
    }
}

知识点:

总结:

 

原文:https://www.cnblogs.com/jpppp/p/15311150.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!