367. 有效的完全平方数

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

说明:不要使用任何内置的库函数,如  sqrt

示例 1:

输入:16
输出:True

示例 2:

输入:14
输出:False


二分查找:
class Solution {
public:
    bool isPerfectSquare(int num) {
        int l = 0;
        int r = num;
        while(l <= r) {
            long  mid = (l + r) >> 1;
            if(mid * mid == num)
                    return true;
            else if(mid * mid > num)
                r = mid - 1;
            else
                l = mid + 1;
        }
        
        return false;
    }
};

 

posted @ 2019-04-06 10:31  听说这是最长的名字了  阅读(206)  评论(0编辑  收藏  举报