有效的完全平方数

有效的完全平方数

这题考察的是二分,这题只需要考虑越每越界即可。

知识点:

1.在l+r之间加上1ll防止mid越界

2.把mid除到右边去,防止mid*mid越界。

class Solution {
public:
    bool isPerfectSquare(int num) {
       int l=1,r=num;
       while(l<r){
           int mid=(l+1ll+r)/2;
           if(mid<=num/mid)l=mid;
           else r=mid-1;
       }
     return l*l==num;
    }
};

上一篇:LAMP架构介绍及Apache安装过程


下一篇:和为K的最少斐波那契数字数目