Skip to content

Commit c9babbf

Browse files
authored
Create valid-perfect-square.cpp
1 parent e120516 commit c9babbf

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

C++/valid-perfect-square.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Time: O(logn)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
bool isPerfectSquare(int num) {
7+
int left = 1, right = num;
8+
while (left <= right) {
9+
const int mid = left + (right - left) / 2;
10+
if (mid >= num / mid) {
11+
right = mid - 1;
12+
} else {
13+
left = mid + 1;
14+
}
15+
}
16+
return left == num / left && num % left == 0;
17+
}
18+
};

0 commit comments

Comments
 (0)