w3resource

Java: Find the index of a value in a sorted array.

Java Basic: Exercise-124 with Solution

Insert Index in Sorted Array

Write a Java program to find the index of a value in a sorted array. If the value does not find return the index where it would be if it were inserted in order. Example:
[1, 2, 4, 5, 6] 5(target) -> 3(index)
[1, 2, 4, 5, 6] 0(target) -> 0(index)
[1, 2, 4, 5, 6] 7(target) -> 5(index)

Pictorial Presentation:

Java Basic Exercises: Find the index of a value in a sorted array.

Sample Solution:

Java Code:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        // Create an array of integers
        int[] nums = {1, 2, 4, 5, 6};
       int target = 5;
     // target = 0;
     // target = 7;
     // Call the searchInsert function and print the result
        System.out.print(searchInsert(nums, target)); 
    }

    public static int searchInsert(int[] nums1, int target) {
        // Check if the input array is empty or null
        if (nums1 == null || nums1.length == 0) {
            return 0;
        }
        // Initialize variables for binary search
        int start = 0;
        int end = nums1.length - 1;
        int mid = start + (end - start) / 2;

        while (start + 1 < end) {
            mid = start + (end - start) / 2;
            // Compare the middle element with the target
            if (nums1[mid] == target) {
                return mid;
            } else if (nums1[mid] > target) {
                end = mid;
            } else {
                start = mid;
            }
        }
        
        // Determine the insertion position based on binary search results
        if (nums1[start] >= target) {
            return start;
        } else if (nums1[start] < target && target <= nums1[end]) {
            return end;
        } else {
            return end + 1;
        }
    }
}

Sample Output:

3

Flowchart:

Flowchart: Java exercises: Find the index of a value in a sorted array.

Java Code Editor:

Previous: Write a Java program to find the subarray with smallest sum from a given array of integers.
Next: Write a Java program to get the preorder traversal of its nodes' values of a given a binary tree

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/java-exercises/basic/java-basic-exercise-124.php