From 51695319c2095492d16197d03b1ec2fe696b101b Mon Sep 17 00:00:00 2001 From: Gleb Koval Date: Fri, 5 Nov 2021 15:09:36 +0000 Subject: [PATCH] first-bad-version --- first-bad-version/sol.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 first-bad-version/sol.go 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 +}