dengxinyi 6 年之前
父节点
当前提交
157e926f4d
共有 2 个文件被更改,包括 25 次插入4 次删除
  1. 16 4
      hard/154.go
  2. 9 0
      hard/164.go

+ 16 - 4
hard/154.go

@@ -1,9 +1,21 @@
 package main
 
 func findMin(nums []int) int {
-	return 0
+	beg, end := 0, len(nums)-1
+	for beg < end {
+		mid := beg + (end-beg)/2 // Very important
+		if nums[mid] < nums[end] {
+			end = mid
+		} else if nums[mid] > nums[end] {
+			beg = mid + 1
+		} else {
+			end-- // If equals, cannot decide in which part, so narrow the range
+		}
+	}
+	return nums[beg]
 }
 
-func main() {
-
-}
+// func main() {
+// 	println(findMin([]int{1, 3, 5}), 1)
+// 	println(findMin([]int{2, 2, 2, 0, 1}), 0)
+// }

+ 9 - 0
hard/164.go

@@ -0,0 +1,9 @@
+package main
+
+func maximumGap(nums []int) int {
+	return 0
+}
+
+func main() {
+
+}