【手繪漫畫】圖解LeetCode之x 的平方根(LeetCode 69題)

在這裏插入圖片描述

圖解LeetCode刷題計劃

1、寫在前面

手繪漫畫系列正式上線!!!“圖解LeetCode刷題計劃” 來了!!!

今天是第七期,爭取每天一期,最多兩天一期,歡迎大家監督我。。。
在這裏插入圖片描述
最近依舊是二分查找算法呢~

使用新版的模板加上圖解,相信你能更加理解二分法的使用!!!
在這裏插入圖片描述

2、題目

首先看一下題目,
在這裏插入圖片描述
分界條件就是我們的 mid * midx 的關係!!!
在這裏插入圖片描述
在這裏插入圖片描述

3、正文

首先分析一下情況,

確定一下 leftright,然後編寫二分查找模板。
在這裏插入圖片描述
可以看到,mid * mid <= x 時,所以 targetmid 的右側,因爲有等號,所以 left = midmid * mid <= x 這麼寫不好,容易溢出,所以可以寫成 mid<=x/mid

因爲是模板二,所以不要忘記給 mid 加1!!!
在這裏插入圖片描述

4、代碼

int mySqrt(int x){
    int left=0;
    int right=x;
    while(left<right){
        int mid=(long)left+right+1>>1;
        if(mid<=x/mid){
            left=mid;
        }
        else{
            right=mid-1;
        }
    }
    return left;
}

在這裏插入圖片描述
在這裏插入圖片描述

如果有幸幫到你,請幫我點個【贊】,給個【關注】!如果能順帶【評論】給個鼓勵,我將不勝感激。

如果想要更多的資源,歡迎關注 @我是管小亮,文字強迫症MAX~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章