File tree Expand file tree Collapse file tree 2 files changed +44
-0
lines changed
Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ Given a positive integer * num* , write a function which returns True if * num* is a perfect square else False.
2+
3+ ** Note: Do not** use any built-in library function such as ` sqrt ` .
4+
5+ #####Example 1:
6+ ```
7+ Input: 16
8+
9+ Returns: True
10+ ```
11+ #####Example 2:
12+ ```
13+ Input: 14
14+
15+ Returns: False
16+ ```
Original file line number Diff line number Diff line change 1+ public class Solution {
2+ public boolean isPerfectSquare (int num ) {
3+ if (num <= 0 )
4+ return false ;
5+ else if (num == 1 )
6+ return true ;
7+
8+ long left = 0 ;
9+ long right = num ;
10+
11+ while (left < right ) {
12+ long mid = (left + right ) >> 1 ;
13+ long value = mid * mid ;
14+
15+ if (left == mid && value != num )
16+ return false ;
17+
18+ if (value > num )
19+ right = mid ;
20+ else if (value < num )
21+ left = mid ;
22+ else
23+ return true ;
24+ }
25+
26+ return false ;
27+ }
28+ }
You can’t perform that action at this time.
0 commit comments