8000
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents ba42e19 + 28fe577 commit 429bd8dCopy full SHA for 429bd8d
May-LeetCoding-Challenge/First-Bad-Version/FirstBadVersionKotlin278.kt
@@ -0,0 +1,21 @@
1
+class FirstBadVersionKotlin278 {
2
+ fun firstBadVersion(n: Int): Int {
3
+ var left = 0
4
+ var right = n
5
+ // never dead loop
6
+ while (left + 1 < right) {
7
+ val mid = left + (right - left) / 2
8
+ when {
9
+ // find first bad version, so move right to mid
10
+ isBadVersion(mid) -> right = mid
11
+ else -> left = mid
12
+ }
13
14
+ return when {
15
+ isBadVersion(left) -> left
16
+ else -> right
17
18
19
+
20
+ private fun isBadVersion(version: Int) = version > 3
21
+}
0 commit comments