# \#278 First Bad Version ## *有n版本, 給定一function isBadVersion可判斷版本是否為錯誤版, 回傳最小錯誤版本* ## Log - build 20210605 by syhuang ## xxx - xxx ```javascript= ``` ## 初見 - 二分法查找 ```javascript= var solution = function(isBadVersion) { /** * @param {integer} n Total versions * @return {integer} The first bad version */ return function(n) { var left=0; var right=n; while(left<=right){ var mid = left + Math.ceil((right-left)/2); if(isBadVersion(mid)) right = mid-1; else left = mid + 1; } return right + 1; }; }; ``` ## 備註 - 二分法查找定式: ```javascript= while (right - left > 1) { var mid = left + Math.ceil((right-left)/2); if (check(mid)) left = mid; else right = mid; } ``` ## 參考 ###### tags: `leetcode`, `leetcode-easy`