0
点赞
收藏
分享

微信扫一扫

有效的完全平方数

ITWYY 2022-02-04 阅读 32

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

知识点:

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;
    }
};
举报

相关推荐

0 条评论