采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
对浮点数做二分查找和对整型索引做二分查找完全不一样哦。
一方面,因为浮点数是“无缝连接”的,所以每一次没有找到,不能使用r=mid-1或者l=mid+1。这个+1;-1之间,其实少搜索了很多浮点数!;
另外,退出终止条件也最好不是l <= r,应该判断l和r在某一个精度范围里。
可以自己试试看:)加油!
r和l不是数组的索引吗,应该只要修改一下相等的条件就好了 if( abs(arr[mid] - target) < 1e-8 ) return mid;
请详细描述你的具体问题。输入是什么,希望完成什么逻辑,得到什么输出。
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.8k 21
5.7k 3
4.9k 5
1.4k 18