LeetCode做題筆記(7)——二分法中位數mid的選取方法


本篇文章是對LeetCode題目 69.x的平方根的總結,主要總結了使用二分法時中位數mid的選取方法。

69. x 的平方根

題目類型

二分法

做題總結

    1. 注意作乘法時一定要考慮數值是否過大導致溢出,從而選取合適大小的數據類型。
    2. 還要注意這里二分法取的是右中位數,即mid=right - (right - left) / 2或者如liweiwei1419的寫法:left + (right - left + 1) / 2,可以看他的題解:
      鏈接:https://leetcode-cn.com/problems/sqrtx/solution/er-fen-cha-zhao-niu-dun-fa-python-dai-ma-by-liweiw/
      《用「排除法」(減治思想)寫二分查找問題、與其它二分查找模板的比較》鏈接:https://leetcode-cn.com/problems/search-insert-position/solution/te-bie-hao-yong-de-er-fen-cha-fa-fa-mo-ban-python-/
    3. 關於什么時候用左中位數什么時候用右中位數:試!如果在迭代的過程中發生區間無法收縮的情況,就換用另一種中位數取法。這種邊界無法進一步收縮的情況出現在邊界內只有2個數的時候。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM