关于JAVA中的BinarySearch
请具体讲解下为什么最后二分查找中返回的index是-(插入点)减一,以及其代表的意思,谢谢,最好可以配上源码说明
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
请具体讲解下为什么最后二分查找中返回的index是-(插入点)减一,以及其代表的意思,谢谢,最好可以配上源码说明
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
这个方法你得先把数组排序,才能正常使用
二分查找,顾名思义就是分开一半然后查找。
比如我找到一个中点,这个中点不是我想要的,我想要这个点后面的数据
就把这个点+1,指针向后移动一位,这个数据以及这个数据之前的数据都不要了。
如果我想要这个点前面的数据。
就把这个点-1,指针向前移动一位,这个数据以及这个数据之后的数据都不要了。
总而言之,+1 -1 结果都是忽略当前选中的元素。
如果这个点是你想要的,就直接返回就好了。
不知道听明白没有,如果没有,欢迎提问。