给定一个数组A及其大小n,同时给定需要查找的元素值x,已知数组A是由一个排过序的数组向左移位了一定长度得到的,请返回x在现数组的位置(位置从零开始)。保证数组中元素互异。
测试样例:
[6,1,2,3,4,5],6,6
返回:0
# -*- coding:utf-8 -*- class Finder: def findElement(self, A, n, x): # write code here if n<1: return -1 l=0 r=n-1 while l<=r: mid=(l+r)/2 if A[mid]==x: return mid elif A[mid]<x: if A[l]>A[mid] and x>A[r]: r=mid-1 else: l=mid+1 else: if A[l]>x and A[l]<A[mid]: l=mid+1 else: r=mid-1 return -1