15 Jun 2024C++ / Python / TypeScriptEasy

Sqrt(x)

Collected C++, Python, TypeScript solutions for sqrt(x). Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Sqrt(x). the solution files are available below.

solution files

  • C++ sqrtx/synced-solution.cpp
  • Python sqrtx/synced-solution.py
  • TypeScript sqrtx/synced-solution.ts

Solution files

Pythonsqrtx/synced-solution.py
class Solution:
    def mySqrt(self, x: int) -> int:
        lo, hi = class="syntax-number">0, x
        while lo <= hi:
            mid = (lo + hi) class=class="syntax-string">"syntax-comment">// class="syntax-number">2
            if mid * mid <= x < (mid+class="syntax-number">1)*(mid+class="syntax-number">1):
                return mid
            elif mid * mid > x:
                hi = mid - class="syntax-number">1
            else:
                lo = mid + class="syntax-number">1
        return class="syntax-number">0
C++sqrtx/synced-solution.cpp
class Solution {
public:
    int mySqrt(int x) {
        long lo = class="syntax-number">0, hi = x;
        while (lo <= hi) {
            long mid = (lo+hi)/class="syntax-number">2;
            if (mid*mid == x) return mid;
            else if (mid*mid < x) lo = mid+class="syntax-number">1;
            else hi = mid-class="syntax-number">1;
        }
        return hi;
    }
};
TypeScriptsqrtx/synced-solution.ts
function mySqrt(x: number): number {
    let lo = class="syntax-number">0, hi = x;
    while (lo <= hi) {
        const mid = Math.floor((lo + hi) / class="syntax-number">2);
        if (mid * mid === x) return mid;
        else if (mid * mid < x) lo = mid + class="syntax-number">1;
        else hi = mid - class="syntax-number">1;
    }
    return hi;
}