gpt4 book ai didi

algorithm - 使用 mid=first+(last-first)/2 而不是 (first+last)/2 的效果

转载 作者:行者123 更新时间:2023-12-02 16:37:01 27 4
gpt4 key购买 nike

为什么人们使用 mid=first+(last-first)/2 而不是 (first+last)/2,在二进制搜索的情况下)两者有区别吗。如果有,请告诉我,因为我无法理解其中的区别。

最佳答案

如果使用 mid = (first + last)/2 那么当 first 或 last 为 MAX 时,即有可能发生溢出,即当 first 或 last 是maximum or range,再加一个数就会溢出。

所以我们使用 mid = first + (last-first)/2,因为即使 first 或 last 是范围的最大值,这也不会溢出。

此外,由于在竞争性编程测试用例中会测试您的代码以适应极端情况,因此很可能其中一个测试用例具有这些最大范围数。所以建议使用 mid = first + (last-first)/2

关于algorithm - 使用 mid=first+(last-first)/2 而不是 (first+last)/2 的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62506749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com