Brief Summary of Binary Search


These templates come from LeetCode explore card for binary search.


The tip below comes from LeetCode 278. First Bad Version.

If you are setting mid = (left+right) / 2, you have to be very careful. Unless you are using a language that does not overflow such as Python, left + right could overflow. One way to fix this is to use left + (right-left)/2 instead.

If you fall into this subtle overflow bug, you are not alone. Even Jon Bentley's own implementation of binary search had this overflow bug and remained undetected for over twenty years.

posted @ 2019-07-07 08:53  resolvent  阅读(117)  评论(0编辑  收藏  举报