auto-generated entry for Valid Perfect Square. the solution files are available below.
solution files
- C++
valid-perfect-square/synced-solution.cpp - Python
valid-perfect-square/synced-solution.py - TypeScript
valid-perfect-square/synced-solution.ts
Collected C++, Python, TypeScript solutions for valid perfect square. Add a dedicated write-up later if you want deeper notes.
auto-generated entry for Valid Perfect Square. the solution files are available below.
valid-perfect-square/synced-solution.cppvalid-perfect-square/synced-solution.pyvalid-perfect-square/synced-solution.tsdef isPerfectSquare(num):
if num < class="syntax-number">1:
return False
left, right = class="syntax-number">1, num
while left <= right:
mid = (left + right) class=class="syntax-string">"syntax-comment">// class="syntax-number">2
square = mid * mid
if square == num:
return True
elif square < num:
left = mid + class="syntax-number">1
else:
right = mid - class="syntax-number">1
return False
class Solution {
public:
bool isPerfectSquare(int num) {
if (num < class="syntax-number">1) return false;
long left = class="syntax-number">1, right = num;
while (left <= right) {
long mid = (left + right) / class="syntax-number">2;
long square = mid * mid;
if (square == num) {
return true;
} else if (square < num) {
left = mid + class="syntax-number">1;
} else {
right = mid - class="syntax-number">1;
}
}
return false;
}
};
function isPerfectSquare(num: number): boolean {
if (num < class="syntax-number">1) return false;
let left = class="syntax-number">1, right = num;
while (left <= right) {
const mid = Math.floor((left + right) / class="syntax-number">2);
const square = mid * mid;
if (square === num) {
return true;
} else if (square < num) {
left = mid + class="syntax-number">1;
} else {
right = mid - class="syntax-number">1;
}
}
return false;
}