Java: Find the rotation count in a given rotated sorted array of integers
Write a Java program to find the rotation count in a given rotated sorted array of integers.
Sample Solution:
Java Code:
// Define the Main class.
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main
{
// Define a method to count the number of rotations in the sorted array.
static int count_rotations(int arr_int[], int n)
{
int min_val = arr_int[0];
int min_index = -1;
// Iterate through the array to find the minimum element.
for (int i = 0; i < n; i++)
{
if (min_val > arr_int[i])
{
min_val = arr_int[i];
min_index = i;
}
}
// Return the index of the minimum element, which is the count of rotations.
return min_index;
}
// The main method for executing the program.
public static void main(String[] args)
{
int arr_int[] = {35, 32, 30, 14, 18, 21, 27};
// int arr_int[] = {35, 32, 14, 18, 21, 27};
// int arr_int[] = {35, 14, 18, 21, 27};
int n = arr_int.length;
// Print the number of rotations in the sorted array.
System.out.println(count_rotations(arr_int, n));
}
}
Sample Output:
3
Flowchart:
Java Code Editor:
Previous: Write a Java program to check whether there is a pair with a specified sum of a given sorted and rotated array.
Next: Write a Java program to arrange the elements of a given array of integers where all negative integers appear before all the positive integers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics