We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ed62a18 commit e828d56Copy full SHA for e828d56
Dynamic Programming/416. 分割等和子集.md
@@ -60,4 +60,40 @@ class Solution {
60
return dp[n - 1][target];
61
}
62
63
-```
+```
64
+
65
66
67
+Go 语言:
68
69
+```go
70
+func canPartition(nums []int) bool {
71
+ n, sum := len(nums), 0
72
+ for _, value := range(nums) {
73
+ sum += value
74
+ }
75
+ if sum % 2 != 0 || n == 1 {
76
+ return false
77
78
+ target := sum / 2
79
+ dp := make([][]bool, n)
80
+ for i := range dp {
81
+ dp[i] = make([]bool, target + 1)
82
+ dp[i][0] = true
83
84
+ if nums[0] <= target {
85
+ dp[0][nums[0]] = true
86
87
+ for i := 1; i < n; i++ {
88
+ for j := 1; j <= target; j++ {
89
+ if j > nums[i] {
90
+ dp[i][j] = dp[i - 1][j] || dp[i - 1][j - nums[i]]
91
+ } else {
92
+ dp[i][j] = dp[i - 1][j]
93
94
95
96
+ return dp[n - 1][target]
97
+}
98
99
0 commit comments