w3resource

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


47. Find rotation count in a sorted rotated array

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.

Go to:


PREV : Check for pair with a specified sum in rotated array.
NEXT : Arrange array with negative integers before positives.

Java Code Editor:

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.