diff --git "a/leetcode3/\355\231\251\354\235\200\354\247\200/374. Guess Number Higher or Lower.js" "b/leetcode3/\355\231\251\354\235\200\354\247\200/374. Guess Number Higher or Lower.js" new file mode 100644 index 00000000..0a539166 --- /dev/null +++ "b/leetcode3/\355\231\251\354\235\200\354\247\200/374. Guess Number Higher or Lower.js" @@ -0,0 +1,26 @@ +/** + * Forward declaration of guess API. + * @param {number} num your guess + * @return -1 if num is higher than the picked number + * 1 if num is lower than the picked number + * otherwise return 0 + * var guess = function(num) {} + */ + +/** + * @param {number} n + * @return {number} + */ +var guessNumber = function (n) { + let left = 1; + let right = n; + while (true) { + let mid = Math.floor((left + right) / 2); + const result = guess(mid); + if (result === -1) { + right = mid - 1; + } else if (result === 1) { + left = mid + 1; + } else return mid; + } +};