One line for Python: return min(nums). The normal way is binary search.
Solution:
# T:O(lgn) S:O(1)
class Solution:
# @param num, a list of integer
# @return an integer
def findMin(self, num):
low, high = 0, len(num)
while low < high - 1 and num[low] >= num[high - 1]:
mid = low + (high - low) / 2
if num[mid] > num[low]:
low = mid + 1
elif num[mid] < num[low]:
if mid == high - 1:
return num[mid]
else:
high = mid + 1
else:
return num[mid]
return num[low]
Run Time: 52 ms
No comments:
Post a Comment