本篇文章是對LeetCode題目 69.x的平方根的總結,主要總結了使用二分法時中位數mid的選取方法。
69. x 的平方根
題目類型
二分法
做題總結
- 注意作乘法時一定要考慮數值是否過大導致溢出,從而選取合適大小的數據類型。
- 還要注意這里二分法取的是右中位數,即
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-/ - 關於什么時候用左中位數什么時候用右中位數:試!如果在迭代的過程中發生區間無法收縮的情況,就換用另一種中位數取法。這種邊界無法進一步收縮的情況出現在邊界內只有2個數的時候。
