Brief Summary of Binary Search

Templates

These templates come from LeetCode explore card for binary search.

Tips

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  阅读(120)  评论(0编辑  收藏  举报