mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Update 0279.完全平方数.md
添加 python3 版本代码
This commit is contained in:
@ -26,7 +26,7 @@
|
|||||||
输入:n = 13
|
输入:n = 13
|
||||||
输出:2
|
输出:2
|
||||||
解释:13 = 4 + 9
|
解释:13 = 4 + 9
|
||||||
|
|
||||||
提示:
|
提示:
|
||||||
* 1 <= n <= 10^4
|
* 1 <= n <= 10^4
|
||||||
|
|
||||||
@ -184,6 +184,38 @@ class Solution {
|
|||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
|
```python3
|
||||||
|
class Solution:
|
||||||
|
def numSquares(self, n: int) -> int:
|
||||||
|
'''版本一'''
|
||||||
|
# 初始化
|
||||||
|
nums = [i**2 for i in range(1, n + 1) if i**2 <= n]
|
||||||
|
dp = [10**4]*(n + 1)
|
||||||
|
dp[0] = 0
|
||||||
|
# 遍历背包
|
||||||
|
for j in range(1, n + 1):
|
||||||
|
# 遍历物品
|
||||||
|
for num in nums:
|
||||||
|
if j >= num:
|
||||||
|
dp[j] = min(dp[j], dp[j - num] + 1)
|
||||||
|
return dp[n]
|
||||||
|
|
||||||
|
def numSquares1(self, n: int) -> int:
|
||||||
|
'''版本二'''
|
||||||
|
# 初始化
|
||||||
|
nums = [i**2 for i in range(1, n + 1) if i**2 <= n]
|
||||||
|
dp = [10**4]*(n + 1)
|
||||||
|
dp[0] = 0
|
||||||
|
# 遍历物品
|
||||||
|
for num in nums:
|
||||||
|
# 遍历背包
|
||||||
|
for j in range(num, n + 1)
|
||||||
|
dp[j] = min(dp[j], dp[j - num] + 1)
|
||||||
|
return dp[n]
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Go:
|
Go:
|
||||||
```go
|
```go
|
||||||
|
Reference in New Issue
Block a user