刷leetcode的小tip,为什么二分查找常用left+(right-left)//2而不是(left+right)//2
最近用python刷了200多道leetcode,二分查找的题目里,我习惯用(left+right)//2,感觉理解起来更直观,可是看大佬解法,总喜欢用left+(right-left)//2,一直不知道为什么,今天刷题在评论区看到了解释,left+right 当left和right都很大的时候,可能会造成越界。虽然说python3自动转换整数和长整数不需要考虑溢出,这么写有些多余,可是算法并不局限于某一种语言,而是一种思想,所以以后还是要具备这种思想。...
原创
2020-08-11 09:17:43 ·
4120 阅读 ·
6 评论