1.比较方法
class Solution:
def minNumberInRotateArray(self, rotateArray):
length = len(rotateArray)
if length == 0:
return 0
elif length == 1:
return rotateArray[0]
else:
for i in range(length-1):
if rotateArray[i] > rotateArray[i+1]:
return rotateArray[i+1]
return rotateArray[0]
在最后,还要输出rotateArray(0)的原因是输入的数组有可能是所有数字都相同的情况。
2.二分查找
class Solution:
def minNumberInRotateArray(self, rotateArray):
length = len(rotateArray)
if length == 0:
return 0
elif length == 1:
return rotateArray[0]
else:
left = 0
right = length-1
while left<right:
mid = (left+right)/2
if rotateArray[mid] < rotateArray[right]:
right = mid
else:
left = mid+1
return rotateArray[left]