You have a sorted and rotated array ``` arr[] ``` of size ``` n ``` where elements are sorted and rotated circularly. Write a program to find the minimum element in the array.

Problem Note

• Suppose the elements in the array ``` arr[] ``` are [1, 2, 3, 4, 5, 6, 7], then rotating by three times array becomes [4, 5, 6, 7, 1, 2, 3].
• You won’t be provided with the number of times array is rotated.
• The array will not contain duplicates.
• Also, think about the case when there are duplicates. Does your current solution work?

Example 1

``````Input: arr[] = [4, 5, 6, 7, 1, 2, 3]
Output: 1
Explanation: The minimum element in arr[] is 1.``````

Example 2

``````Input: arr[] = [8, 9, 4, 5, 6, 7 ]
Output: 4
Explanation: The smallest element is 4 in the array arr[].``````

Example 3

``````Input: arr[] = [3, 4, 5, 6, 7]
Output: 3
Explanation: The minimum element is 3 in the array arr[].``````

Example 4

``````Input: arr[] = [3, 2]
Output: 2
Explanation: The minimum element is 2 in the array arr[].``````