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
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.
sqrtx/synced-solution.cppsqrtx/synced-solution.pysqrtx/synced-solution.tsclass 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
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;
}
};
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;
}