Skip to content

Commit ea69035

Browse files
authored
Create valid_perfect_square.py
1 parent 7037ed2 commit ea69035

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

valid_perfect_square.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class Solution:
2+
"""
3+
@param num: a positive integer
4+
@return: if num is a perfect square else False
5+
"""
6+
def isPerfectSquare(self, num):
7+
# write your code here
8+
i, j = 0, num
9+
while i <= j:
10+
k = int((i + j) / 2) # 二分收敛
11+
k2 = k * k
12+
if k2 == num:
13+
return True
14+
elif k2 > num:
15+
j = k - 1
16+
else:
17+
i = k + 1
18+
return False
19+
20+
# easy: https://www.lintcode.com/problem/valid-perfect-square

0 commit comments

Comments
 (0)