w3resource
Java Programming Exercies

Java Array Exercises: 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:

import java.util.*;
import java.lang.*;
import java.io.*;
 
public class Main
{
  static int count_rotations(int arr_int[], int n)
    {
       int min_val = arr_int[0], min_index = -1;
        for (int i = 0; i < n; i++)
        {
            if (min_val > arr_int[i])
            {
                min_val = arr_int[i];
                min_index = i;
            }
        } 
        return min_index;
    }
    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;
            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

Visualize Java code execution (Python Tutor):


Java Code Editor:

Improve this sample solution and post your code through Disqus

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 an given array of integers where all negative integers appear before all the positive integers.

What is the difficulty level of this exercise?