Skip to content

Commit 85d05c1

Browse files
committed
add cleaner solution
1 parent eb0c7ca commit 85d05c1

File tree

1 file changed

+25
-1
lines changed
  • find-minimum-in-rotated-sorted-array

1 file changed

+25
-1
lines changed

โ€Žfind-minimum-in-rotated-sorted-array/flynn.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
ํ’€์ด
2+
ํ’€์ด 1
33
- ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์„ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ง„ํƒ์ƒ‰์„ ์ด์šฉํ•˜์—ฌ ํ’€์ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
44
์ฃผ์–ด์ง„ ๋ฐฐ์—ด์ด A = [4,5,6,7,0,1,2] ๋ผ๊ณ  ํ•  ๋•Œ, ์ด ๋ฐฐ์—ด์€ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
55
A[0:3] : rotate๋˜์–ด ์•ž์œผ๋กœ ๋ฐฐ์—ด์˜ ์•ž์œผ๋กœ ์˜ฎ๊ฒจ์ง„ ๋ถ€๋ถ„
@@ -39,3 +39,27 @@ func findMin(nums []int) int {
3939

4040
return nums[lo]
4141
}
42+
43+
/*
44+
ํ’€์ด 2
45+
- ํ’€์ด 1์—์„œ ๋œ์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋กœ์ง์„ ๋œ์–ด๋‚ธ ์ข€ ๋” ๊น”๋”ํ•œ ์ด์ง„ํƒ์ƒ‰ ํ’€์ด์ž…๋‹ˆ๋‹ค
46+
47+
Big O
48+
- ํ’€์ด 1๊ณผ ๋™์ผ
49+
*/
50+
51+
func findMin(nums []int) int {
52+
lo, hi := 0, len(nums)
53+
54+
for lo < hi {
55+
mid := lo+(hi-lo)/2
56+
57+
if nums[mid] > nums[len(nums)-1] {
58+
lo = mid + 1
59+
} else {
60+
hi = mid
61+
}
62+
}
63+
64+
return nums[lo]
65+
}

0 commit comments

Comments
ย (0)