Here is small snippet to find minimum element in rotated sorted array. The code uses a modified binary search to search the element from the array.
package search;
public class RotatedArray {
	
	static int arr[] ={7,8,9,10,11,13,24,1,2,3,4,5,6}; 
	
	public static int search(int low, int high){
		if(low>high)
			return -1;
		
		
		if(arr[low]>arr[high]){
			int mid = (low+high)/2;
			if(arr[mid]>arr[high])
				return search(mid+1,high);
			else
				return search(low,mid);
		}
		return low;
		
	}
	
		
	public static void main(String[] args) {
		
		int min = RotatedArray.search(0,arr.length-1);
		System.out.println(min);
		
	}
}
BUG:
int mid = (low+high)/2;
It doesn’t seems to be; But it is;
Lets assume low and high value is Integer.MAX_VALUE;
output will come as -1; which is not correct There this line should be change
int mid = low + (high – low)/2