Files
leetcode/python/problem_633/solution2.py
2024-06-16 18:48:39 -07:00

21 lines
462 B
Python

class Solution:
def judgeSquareSum(self, c: int) -> bool:
sqrt_num = c ** 0.5
int_num = int(str(sqrt_num).split(".")[0])
sqr_num = int_num ** 2
if sqr_num == c:
return True
# memoization
mem = set()
for i in range(int_num, 0, -1):
sqr_num = i ** 2
mem.add(sqr_num)
if c - sqr_num in mem:
return True
return False