Java: Find the index of a value in a sorted array.
Java Basic: Exercise-124 with Solution
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:
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:
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.
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
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics