| 123456789101112131415161718192021222324252627282930 | 
							- package main
 
- func findMin(nums []int) int {
 
- 	length := len(nums)
 
- 	if length == 1 {
 
- 		return nums[0]
 
- 	}
 
- 	beg, end := 0, length-1
 
- 	for beg < end {
 
- 		if nums[beg] < nums[end] {
 
- 			return nums[beg] // No pivot
 
- 		}
 
- 		mid := (beg + end) / 2
 
- 		if nums[mid] > nums[beg] { // Pivot at right
 
- 			beg = mid
 
- 		} else { // ...At left
 
- 			end = mid
 
- 		}
 
- 	}
 
- 	return nums[beg+1]
 
- }
 
- // func main() {
 
- // 	println(findMin([]int{
 
- // 		4, 5, 6, 7, 0, 1, 2}))
 
- // 	println(findMin([]int{
 
- // 		0, 1, 2}))
 
- // 	println(findMin([]int{
 
- // 		2, 3, 1}))
 
- // }
 
 
  |