【出错记录】二分
一、跳石子
无限循环了。
改为:
if (rez <= m) {
ans = ans > rez ? rez : ans;
l = mid + 1;
} else r = mid - 1;
就跳出了循环。
0 是输出的结果,明显错误。
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
还有ans的初值应该设为 0x7fffffff,改正后输出 1。
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
最后
AC。
________________________________________________________________________________________________________________________
总结:
1、
l = mid + 1 或者 l = mid r = mid - 1 或者 r = mid
写错可能导致无限循环。
2、清楚 ans 是什么。
ans记录的应该是什么,用不用取 min 或者 max 之类的。