Skip to content

Commit

Permalink
go implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
Azureki committed May 1, 2019
1 parent ec09832 commit 8ea1f20
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions 154. Find Minimum in Rotated Sorted Array II/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package problem154

func findMin(nums []int) int {
left, right := 0, len(nums)-1
var mid int
for left < right {
if nums[left] < nums[right] {
return nums[left]
}
mid = (left + right) / 2
// if nums[mid] > nums[left] {
// left = mid + 1
// } else if nums[mid] < nums[right] {
// right = mid
// }
// 上一种写法并不合理。*mid只需要比*right大。不需要比*left大,就可以说明mid落在左边
// if nums[mid] < nums[left] {
if nums[mid] > nums[right] {
left = mid + 1
} else if nums[mid] < nums[right] {
right = mid
} else {
// nums[left]<=nums[mid]<=nums[right]
// 三者相等
left++
}
}
return nums[left]
}

0 comments on commit 8ea1f20

Please sign in to comment.