Binary Search 1ms
 public int search(int[] nums, int target) {
        
        if(nums[nums.length-1] < target)
                return -1;
        
        int start = 0;
        int finish = nums.length;
        int middle = 0;

        while (nums[middle] < target) {
            start = middle;
            middle += (finish - start) / 2;
        }

        finish = middle;

        if (nums[start] == target)
            return start;

        if (nums[finish] == target)
            return finish;

        for (int i = start; i < finish; i++) {
            if (nums[i] == target) {
                return i;
            }
        }

        return -1;
    }
Comments (0)