错误一例:

int min,max;
//...一些过程
int mid = (int) Math.ceil((min+max)/2);

这个代码不能达到向上取整的目的
因为min,max 都是int类型,相加除以2之后,已经向0取整,已经是整数,所以Math.ceil()方法无济于事。

处理办法1 2

int mid = (min+max+1)/2;
//或者
int min = (min+max+1)>>1;

  1. 1 ↩︎

  2. 2 ↩︎


版权声明:本文为sinat_34524528原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sinat_34524528/article/details/88421727