美文网首页
二分法查找-代码实现

二分法查找-代码实现

作者: Eve0 | 来源:发表于2020-09-24 16:55 被阅读0次
public class ArrayTest2 {
    public static void main(String[] args) {
        int dest = 45;
        int[] arr1 = new int[]{-98, -97, -26, -21, 3, 7, 19, 23, 45, 47, 57, 89, 93, 98};
        int resultIndex = binarySearch(arr1, dest);
        System.out.println("result:" + resultIndex);

    }

    static int binarySearch(int[] arr, int dest) {

        int startIndex = 0;
        int endIndex = arr.length;
        while (startIndex < endIndex) {
            //中间的索引值,动态的
            int middle = (startIndex+ endIndex) / 2;
            //如果目标值小于中间值,则结束索引等于中间的索引,也就是说从左侧的列表中找
            if (dest < arr[middle]) {
                endIndex = middle;
            } else if (dest > arr[middle]) {
                //如果目标值大于中间值,则开始索引等于中间的索引,也就是说从右侧的列表中找
                startIndex = middle;
            } else {
                return middle;
            }
        }

        return -1;
    }
}

相关文章

  • Java 面试系列:算法常用面试题汇总

    1.说一下什么是二分法?使用二分法时需要注意什么?如何用代码实现? 二分法查找(Binary Search)也称折...

  • 刷前端面经笔记(九)

    1.JavaScript实现二分法查找? 二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找...

  • PHP中实现二分法查找的两种方法

    php实现二分法的查找其实很简单,跟我一起来看看怎么实现吧。 二分法查找需要数组是一个递增的数组。 想要写出二分法...

  • golang循环递增数组查找值

    循环递增数组查找值 golang 1.实现要求 在循环递增数组中查找某个值 2.实现方法 使用二分法实现查找 使用...

  • 二分法的简单使用问题

    使用场景 开发思路 代码实现规则获取地址转换二分法查找设计错例问题点代码调整 附 使用场景 根据访问日志的ip地址...

  • 二分法查找

    二分法查找效率高,其查找次数与总元素数量存在对数关系 原理在进行二分法查找前需要先对数据进行排序(具体排序实现详见...

  • 二分法查找

    二分法基本查找 二分法遍历查找

  • 常见算法的 Python 实现

    二分法查找 非递归版本: 递归方法实现: 冒泡排序 选择排序

  • 二分法查找-代码实现

  • 二分法查找

    二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法...

网友评论

      本文标题:二分法查找-代码实现

      本文链接:https://www.haomeiwen.com/subject/uhctuktx.html