Skip to content

Commit

Permalink
문제 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
jdalma committed Oct 8, 2024
1 parent ea83b10 commit 4b2878a
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions find-minimum-in-rotated-sorted-array/jdalma.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
class `find-minimum-in-rotated-sorted-array` {

/**
* TC: O(log N), SC: O(1)
*/
fun findMin(nums: IntArray): Int {
var (low, high) = 0 to nums.size - 1

while (low + 1 < high) {
val mid = (low + high) / 2
if (nums[mid - 1] > nums[mid]) {
return nums[mid]
}
if (nums[mid] < nums[high]) {
high = mid
}
else {
low = mid
}
}

return min(nums[low], nums[high])
}

@Test
fun `입력받은 정수 배열의 최소 원소를 반환한다`() {
findMin(intArrayOf(4,5,6,7,0,1,2)) shouldBe 0
findMin(intArrayOf(2,3,0,1)) shouldBe 0
findMin(intArrayOf(2,3,1)) shouldBe 1
findMin(intArrayOf(2,1,3)) shouldBe 1
findMin(intArrayOf(2,3,4,5,1)) shouldBe 1
findMin(intArrayOf(11,13,15,17)) shouldBe 11
}
}

0 comments on commit 4b2878a

Please sign in to comment.