【问题标题】:Java binary search without specific method没有特定方法的Java二分查找
【发布时间】:2020-05-18 09:53:09
【问题描述】:

我必须创建一个有序的数字数组。接下来,我应该输入一个数字并使用二分搜索找到它。

我看到有一个很简单的方法(java.util.Arrays.binarySearch(int[] a, int key)),但是我不能用。

如果没有这种方法,我如何进行二分搜索?感谢您的支持。

例如,我有这个数组:A = [1, 5, 10, 21, 30, 50] 我必须找到数字 30。

【问题讨论】:

    标签: java


    【解决方案1】:

    通过以下方法传递你的数组和要搜索的数字

    public int binarySearch(int arr[], int num) 
        { 
            int left = 0, right = arr.length - 1; 
            while (left <= right) { 
                int middle = left + (right - l) / 2; 
    
                if (arr[middle] == num) 
                    return middle; 
                if (arr[middle] < num) 
                    left = middle + 1; 
                else
                    right = middle - 1; 
            } 
            return -1; 
        } 
    

    也可以在https://www.geeksforgeeks.org/binary-search/找到很好的解释

    【讨论】:

      猜你喜欢
      • 2014-05-10
      • 2012-10-05
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 2017-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      相关资源
      最近更新 更多