JSFiddle - React, Tailwind, and code Playground
by asdf
JavaScript
// If you have 500 revisions of a program, write a program that will find and return the FIRST bad revision given a isBad(revision i) function.
function getBadRevision() {
var revisions = [1, 3, 5, 9, 11, 23, 25, 28, 30, 32, 34, 36];
var lastBadFound;
var start = 0;
var end = revisions.length-1
var mid;
while (start <= end) {
mid = Math.floor((end - start)/2) + start;
if (isBad(revisions[mid])) {
lastBadFound = revisions[mid];
end = mid - 1;
} else {
start = mid + 1;
}
}
return lastBadFound;
}
function isBad(num) {
return num%2 === 0;
}
console.log(getBadRevision());