给你一个整数 n ,返回和为 n 的完全平方数的最少数量。
class Solution:
def numSquares(self, n: int) -> int:
#dp[i]代表和为 i 的完全平方数的最少数量
dp = [0]*(n+1)
for i in range(1, n+1):
dp[i] = i
j = 1
while i-j*j >= 0:
dp[i] = min(dp[i], dp[i-j*j]+1)
j += 1
return dp[n]