w3resource

Java: Find the rotation count in a given rotated sorted array of integers

Java Array: Exercise-47 with Solution

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:

Flowchart: Find the rotation count in a given rotated sorted array of integers

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.



Follow us on Facebook and Twitter for latest update.