题目分析:可以用暴力的方法,也可以理解成是一个变种的二分查找。中间值比左边值小的话,最小值存在在左边,中间值比左边大的话,最小值存在在右边。最后返回的是right的值
class Solution(object): def kthSmallest(self, nums): # if nums[0]<=nums[len(nums)-1]: # return nums[0] # left = 0 # right = len(nums)-1 # mid = (left+right)//2 # while left != right-1: # if nums[mid]>nums[left]: # left = mid # mid = (left+right)//2 # if nums[mid]<nums[left]: # right = mid # mid = (left+right)//2 # return nums[right] if len(nums) == 1: return nums[0] for i in range(len(nums)-1): if nums[i+1] < nums[i]: return nums[i+1] return nums[0]