考察所谓的“二分查找”,但我使用JAVA实现二分查找的方法,AC时竟然比先前自己写的代码通过的测试点还少。
以下是代码运行时间的比较:
测试用例(PAT标准用例1):
自己的版本1与版本2区别在于进入循环时判断某一值是否已经大于最小值,若是则跳过该循环。
:将每个钻石的价值按照顺序逐次叠加,从题目给定第一个钻石开始,设每次循环取到的钻石为Z,且注意(第一次循环设该循环取到的钻石价值为0,第二次循环取到题目给定钻石串的第一个)每次循环找到一个符合本次循环结果钻石串该结果钻石串总价值大于等于且最接近题目给定所要支付的价值的钻石串,然后根据该循环结果与最小价值、题目给定所要求支付的价值进行比较,从而得到结果。
版本2就是把下面代码里面的三行注释去掉注释符:

根据柳神博客改写:
感觉可能是java天生运行速度就比不上c++,而且题目给的测试用例规模也挺大的。另外我该写柳神的代码可能也存在错误,导致改写的JAVA代码运行时间长,恳请看到这篇博客的各位大佬斧正,小弟不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/200717.html