二分答案
| 对比维度 | 找满足条件的左边界 | 找满足条件的右边界 |
|---|---|---|
| \(\text{while()}\) 循环条件 | while(l<r) |
while(l<r) |
| \(mid\) 计算方式 | mid=(l+r)>>1(向下取整) |
mid=(l+r+1)>>1(向上取整) |
| \(l,r\) 更新规则 | mid 满足条件:r=midmid 不满足条件:l=mid+1 |
mid 满足条件:l=midmid 不满足条件:r=mid-1 |
| 返回值 | 均为 l |
均为 l |
| 对比维度 | 找满足条件的左边界 | 找满足条件的右边界 |
|---|---|---|
| \(\text{while()}\) 循环条件 | while(l<r) |
while(l<r) |
| \(mid\) 计算方式 | mid=(l+r)>>1(向下取整) |
mid=(l+r+1)>>1(向上取整) |
| \(l,r\) 更新规则 | mid 满足条件:r=midmid 不满足条件:l=mid+1 |
mid 满足条件:l=midmid 不满足条件:r=mid-1 |
| 返回值 | 均为 l |
均为 l |