279. 完全平方数
下面两端代码,第一个通过,第二个不通过
以下两个问题待解决,
问题1:
dp += min(dp[-i*i] for i in range(1, int(len(dp)**0.5+1))) + 1,
问题2:
为什么要加,号,为什么self.dp和在函数中直接命名dp效率差别这么大呢?
class Solution(object):
_dp = [0]
def numSquares(self, n):
dp = self._dp
while len(dp) <= n:
dp += min(dp[-i*i] for i in range(1, int(len(dp)**0.5+1))) + 1,
return dp[n]
class Solution(object):
def numSquares(self, n):
dp = [0]
while len(dp) <= n:
dp += min(dp[-i*i] for i in range(1, int(len(dp)**0.5+1))) + 1,
return dp[n]