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());