sum of squared numbers

This commit is contained in:
Yudhvir Singh
2024-06-16 18:17:25 -07:00
parent 5d3dc86ec7
commit 50e29c9591
2 changed files with 49 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
# 633. Sum of Square Numbers
Given a non-negative integer c, decide whether there're two integers a and b such that a2 + b2 = c.
Example 1:
Input: c = 5
Output: true
Explanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: c = 3
Output: false
Constraints:
0 <= c <= 231 - 1

View File

@@ -0,0 +1,25 @@
class Solution:
def judgeSquareSum(self, c: int) -> bool:
# get the square root
# int num
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):
mem.add(i ** 2)
for i in mem:
if (c - i) in mem:
return True
return False