w3resource

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:

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

For more Practice: Solve these Related Problems:

  • Write a Java program to find the index of the minimum element in a rotated sorted array.
  • Write a Java program to search for a given element in a rotated sorted array using binary search.
  • Write a Java program to find the number of times a sorted array has been rotated using linear search.
  • Write a Java program to check if a rotated sorted array can be sorted using at most one swap.

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.