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个数的时候。
posted @ 2020-05-09 14:58  凉风SK  阅读(1012)  评论(0编辑  收藏  举报