Guess Number Higher or Lower Visualizer & Step-by-Step Algorithm Solution

Binary search to guess a secret picked number in range [1..n] in O(log n) using pre-defined guess() API feedback.

Category: binary-search | Difficulty: Easy

Tags: Binary Search, Interactive Game, LeetCode 374

Guess Number Higher or Lower

Numbers 1 to 10
1
0
2
1
3
2
4
3
5
4
6
5
7
6
8
7
9
8
10
9
100%
state
n10
secret pick6
statusInitializing
Start
1/15
Explanation

Begin guessNumber(n = 10). The chosen secret number is 6. We use binary search over [1..10].

Source Code
1function guessNumber(n: number): number {
2 let left = 1;
3 let right = n;
4 while (left <= right) {
5 let mid = Math.floor((left + right) / 2);
6 let hint = guess(mid);
7 if (hint === -1) right = mid - 1;
8 else if (hint === 1) left = mid + 1;
9 else return mid;
10 }
11 return -1;
12}