From 36bdccd6878d0b54338741d699a4d7829318d1c1 Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Wed, 21 Dec 2022 17:17:59 +0800 Subject: [PATCH] =?UTF-8?q?update=200279.=E5=AE=8C=E5=85=A8=E5=B9=B3?= =?UTF-8?q?=E6=96=B9=E6=95=B0:=20=E5=88=A0=E9=99=A4=E5=86=97=E4=BD=99=20py?= =?UTF-8?q?thon=20=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0279.完全平方数.md | 37 -------------------------------- 1 file changed, 37 deletions(-) diff --git a/problems/0279.完全平方数.md b/problems/0279.完全平方数.md index 50ddf5f9..b6a97be3 100644 --- a/problems/0279.完全平方数.md +++ b/problems/0279.完全平方数.md @@ -235,43 +235,6 @@ class Solution: return dp[n] ``` -Python3: -```python -class Solution: - '''版本一,先遍历背包, 再遍历物品''' - def numSquares(self, n: int) -> int: - dp = [n] * (n + 1) - dp[0] = 0 - # 遍历背包 - for j in range(1, n+1): - for i in range(1, n): - num = i ** 2 - if num > j: break - # 遍历物品 - if j - num >= 0: - dp[j] = min(dp[j], dp[j - num] + 1) - return dp[n] - -class Solution: - '''版本二, 先遍历物品, 再遍历背包''' - def numSquares(self, n: int) -> int: - # 初始化 - # 组成和的完全平方数的最多个数,就是只用1构成 - # 因此,dp[i] = i - dp = [i for i in range(n + 1)] - # dp[0] = 0 无意义,只是为了方便记录特殊情况: - # n本身就是完全平方数,dp[n] = min(dp[n], dp[n - n] + 1) = 1 - - for i in range(1, n): # 遍历物品 - if i * i > n: - break - num = i * i - for j in range(num, n + 1): # 遍历背包 - dp[j] = min(dp[j], dp[j - num] + 1) - - return dp[n] -``` - Go: ```go // 版本一,先遍历物品, 再遍历背包