public static int findPeakHelper(int[] A, int start, int end){
		if (start > end) {
			return 0;
		}
		int len = A.length;
		int mid = start + (end - start)/2;
		System.out.println("start = " + start);
		System.out.println("end = " + end);
		System.out.println("mid = " + mid);
		if((mid == 0 || A[mid] > A[mid - 1])
				&& (mid ==len - 1 || A[mid] > A[mid + 1])){
			return mid;
		}else if( mid > 0 && A[mid] < A[mid - 1]){
			//there must exist a peak in the left side
			return findPeakHelper(A, start, mid - 1);
		}else
			return findPeakHelper(A, mid + 1, end);
	}