为了能到远方,脚下的每一步都不能少.|

TranquilGlow

园龄:2年7个月粉丝:1关注:0

2023-07-09 10:38阅读: 19评论: 0推荐: 0

leecode69X的平方根和367有效的完全平方根-题目讲解和代码

代码讲解

~JJH{OR1}@0$WUC{E@46P%F_tmb.jpg

69 源代码

class Solution {
    public int mySqrt(int x) {
        int left=0,right=x/2+1;
        int m=0;
        while(left<=right){
            //易错点1,容易忽略这个当平方比较大的时候会直接超过这个int型数据的范围
            m=(left+right)/2;
            if(1.0*m*m<1.0*x){
                left=m+1;
            }else if(1.0*m*m>1.0*x){
                right=m-1;
            }else return m;
        }
        return right;
    }
}

367 源代码

class Solution {
    public boolean isPerfectSquare(int num) {
        int left=1,right=num/2+1;
        int m=0;
        while(left<=right){
            //与69题的区别是,这一个找不到了就找不到了,上一个找不到你要确定一个最相近的
            m=(left+right)/2;
            if(1.0*m*m<1.0*num){
                left=m+1;
            }else if(1.0*m*m>1.0*num){
                right=m-1;
            }else return true;
        }
        return false;
    }
}

本文作者:TranquilGlow

本文链接:https://www.cnblogs.com/xuehaiqiule/p/17621638.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   TranquilGlow  阅读(19)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起