633. Sum of Square Numbers
class Solution:
def judgeSquareSum(self, c: int) -> bool:
# def search(a):
# l, r = 0, math.sqrt(c)
# while l <= r:
# m = (l + r) // 2
# # print(m ** 2, a)
# if m ** 2 + a == c:
# return True
# elif m ** 2 + a < c:
# l = m + 1
# else:
# r = m - 1
# return False
# i = 0
# while i ** 2 <= c:
# if search(i ** 2):
# return True
# i += 1
# return False
l, r = 0, int(sqrt(c))
while l <= r:
if l ** 2 + r ** 2 == c:
return True
elif l ** 2 + r ** 2 < c:
l += 1
else:
r -= 1
return False