- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在学习算法/big o,我只是对此感到好奇。
使用
mid = (low+high)/2;
为了获得中点,通常不鼓励使用二分查找算法,因为可能会出现溢出错误。为什么会出现溢出错误,怎么办
mid = low + (high-low)/2;
防止这个错误?
谢谢。
最佳答案
在第一种情况下,如果 low 和 high 都足够大(比如两者都等于 2^30+1/或什至更大/)。在第二种情况下,你不计算 (low+high),你做了一个小技巧,然后遍历表达式 (high-low) 并且该表达式相对于 int 溢出要安全得多。
不过,如果你没有一个大小大于 2^30 的数组(无论如何这是一个相当大的数组),即使使用第一个表达式,我也看不出你怎么会遇到 int 溢出.所以在大多数情况下我只会使用第一个而不用担心。
关于java - 中点公式溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24317360/
我需要你的帮助!我在它们之间放置了随机数量的 div。 Item description Item description Item description Item
我有两个 NSDates,时间格式为“h:mm a”(即 6:00 AM 和 8:00 PM)。 我试图找出这两个时间之间的中点是什么时间。 对于上面的示例,早上 6:00 和晚上 8:00 之间的中
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我正在寻找一种有效的算法来检查一个点是否在 3D 中的另一个点附近。 sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) < radius 这似乎并不太快,实际上我不需要这
我可以让 pandas cut/qcut 函数返回 bin 端点或 bin 中点而不是一串 bin 标签吗? 目前 pd.cut(pd.Series(np.arange(11)), bins = 5)
我是一名优秀的程序员,十分优秀!