The First Bad Version solutions are below.
15 Jun 2024•Easy•C++ / Python / TypeScript
First Bad Version
C++, Python and TypeScript solutions for First Bad Version.
Solution files
Python•first-bad-version/synced-solution.py
def isBadVersion(version):
pass
def firstBadVersion(n):
left, right = 1, n
while left < right:
mid = (left + right) // 2
if isBadVersion(mid):
right = mid
else:
left = mid + 1
return left
C++•first-bad-version/synced-solution.cpp
class Solution {
public:
int firstBadVersion(int n) {
int left = 1, right = n;
while (left < right) {
int mid = left + (right - left) / 2;
if (isBadVersion(mid)) {
right = mid;
} else {
left = mid + 1;
}
}
return left;
}
};
TypeScript•first-bad-version/synced-solution.ts
function solution(isBadVersion: (version: number) => boolean) {
return function(n: number): number {
let left = 1, right = n;
while (left < right) {
const mid = Math.floor(left + (right - left) / 2);
if (isBadVersion(mid)) {
right = mid;
} else {
left = mid + 1;
}
}
return left;
};
}