二分法

这一节主要来研究一下二分查找,二分查找的思想很简单,但是在实现时需要注意几个问题:

  1. 在计算mid时不能使用mid=(l+h)/2,因为这样可能会导致加法溢出,应该使用mid=l+(h-l)/2
  2. 对于h的赋值与循环条件有关,当条件为l<=h时,h=mid-1,当l
  3. l的赋值一般都为l=mid+1

求开方:LeetCode第69题

求开方

题目如上图所示,一个数的开方sqrt一定在0至x之间,并且满足sqrt==x/sqrt。可以利用二分查找在0~x之间查找sqrt。
代码

摆硬币:LeetCode第441题

摆硬币

题目描述:第i行摆i个,统计能够摆满的行数


代码

有序数组的Single Element:LeetCode第540题

有序数组

题目描述:有序数组只有一个数不出现两次,找出这个数


代码

你可能感兴趣的:(二分法)