diff --git a/first-bad-version/sol.go b/first-bad-version/sol.go new file mode 100644 index 0000000..de257e6 --- /dev/null +++ b/first-bad-version/sol.go @@ -0,0 +1,19 @@ +package main + +func isBadVersion(version int) bool + +// Time: O(log(n)) +// Space: O(1) +func firstBadVersion(n int) int { + move := 0 + for n > 1 { + p := n / 2 + if isBadVersion(move + p) { + n = p + } else { + n = n - p + move += p + } + } + return move + n +}