Quick actions

cmd+k|ctrl+k

Navigation

Languages

BinarySearch

Snippet info

Language

Java

Visibility

public

Author

devernul

Created

2018-12-10T05:39:06Z

Updated

2018-12-10T06:32:00Z

import java.util.Arrays;

class Main {
    public static void main(String[] args) {
        int[] array = new int[]{1,2,3,4,5};
        Arrays.sort(array);

       // System.out.println("Hello World!:" + findFirstIndexOf(12, array));
        System.out.println(Arrays.toString(array));
        System.out.println("Hello World!:" + binarySearch(100, array));
    }
    
    public static int binarySearch(int el, int[] arr) {
        return binarySearchRecursive(el, arr, 0, arr.length);
    }

    private static int binarySearchRecursive(int el, int[] arr, int start, int end) {
        if (arr == null || arr.length == 0 || start >= end-1) return -1;
        int mid = (start == 0) ? (end-start)/2 : (end-start)/2 + start;
        if (arr[mid] == el) return mid;
        else if (el < arr[mid]) {
            return binarySearchRecursive(el, arr, start, mid);
        }
        else {
            return binarySearchRecursive(el, arr, mid, end);
        }
    }

}
INFO