二分出错记录

Posted E-Valley

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分出错记录相关的知识,希望对你有一定的参考价值。

一、跳石子

  

无限循环了。

改为:

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 之类的。

 

 

 

 

以上是关于二分出错记录的主要内容,如果未能解决你的问题,请参考以下文章

使用片段从数据库 SQLite 获取数据时出错

在片段中创建自定义列表视图时出错所需活动,找到片段

在我的“设置”片段中膨胀类 PreferenceScreen 时出错

第二次在对话框中膨胀片段时出错

Android:在drawerlayout中使用地图膨胀片段时出错

从firebase检索图像以在片段中的回收器视图时出错