Leetcode279完全平方数
class Solution:
def numSquares(self, n: int) -> int:
square_nums = [a * a for a in range(1, int(n**0.5+1))]
level = 0
queue = [n]
while queue:
level += 1
next_que = set()
for remainder in queue:
for square_num in square_nums:
if remainder == square_num:
return level
if square_num < remainder:
next_que.add(remainder - square_num)
queue = next_que
return level