15 Jun 2024C++ / Python / TypeScriptEasy

Guess Number Higher or Lower

Collected C++, Python, TypeScript solutions for guess number higher or lower. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Guess Number Higher or Lower. the solution files are available below.

solution files

  • C++ guess-number-higher-or-lower/synced-solution.cpp
  • Python guess-number-higher-or-lower/synced-solution.py
  • TypeScript guess-number-higher-or-lower/synced-solution.ts

Solution files

Pythonguess-number-higher-or-lower/synced-solution.py
def guessNumber(n):
    left, right = class="syntax-number">1, n

    while left <= right:
        mid = (left + right) class=class="syntax-string">"syntax-comment">// class="syntax-number">2
        result = guess(mid)

        if result == class="syntax-number">0:
            return mid
        elif result == -class="syntax-number">1:
            right = mid - class="syntax-number">1
        else:
            left = mid + class="syntax-number">1
C++guess-number-higher-or-lower/synced-solution.cpp
class Solution : public GuessGame {
public:
    int guessNumber(int n) {
        int left = class="syntax-number">1, right = n;

        while (left <= right) {
            int mid = left + (right - left) / class="syntax-number">2;
            int result = guess(mid);

            if (result == class="syntax-number">0) {
                return mid;
            } else if (result == -class="syntax-number">1) {
                right = mid - class="syntax-number">1;
            } else {
                left = mid + class="syntax-number">1;
            }
        }

        return -class="syntax-number">1;
    }
};
TypeScriptguess-number-higher-or-lower/synced-solution.ts
function guessNumber(n: number): number {
    let left = class="syntax-number">1, right = n;

    while (left <= right) {
        const mid = Math.floor((left + right) / class="syntax-number">2);
        const result = guess(mid);

        if (result === class="syntax-number">0) {
            return mid;
        } else if (result === -class="syntax-number">1) {
            right = mid - class="syntax-number">1;
        } else {
            left = mid + class="syntax-number">1;
        }
    }

    return -class="syntax-number">1;
}