Guess Number Higher or Lower — Classic Binary Search with API

Sanjeev SharmaSanjeev Sharma
1 min read

Advertisement

Problem 304 · Guess Number Higher or Lower

Difficulty: Easy · Pattern: Classic Binary Search

Solutions

# Python
def guessNumber(n):
    lo, hi = 1, n
    while lo <= hi:
        mid = lo + (hi-lo)//2
        g = guess(mid)
        if g == 0: return mid
        elif g == -1: hi = mid-1
        else: lo = mid+1
    return lo
// Java
public int guessNumber(int n) {
    int lo=1, hi=n;
    while (lo<=hi) {
        int mid=lo+(hi-lo)/2, g=guess(mid);
        if(g==0) return mid; else if(g==-1) hi=mid-1; else lo=mid+1;
    }
    return lo;
}

Complexity

  • Time: O(log n)
  • Space: O(1)

Advertisement

Sanjeev Sharma

Written by

Sanjeev Sharma

Full Stack Engineer · E-mopro