File tree Expand file tree Collapse file tree 1 file changed +13
-14
lines changed Expand file tree Collapse file tree 1 file changed +13
-14
lines changed Original file line number Diff line number Diff line change 1
1
class Solution {
2
2
public boolean canPartition (int [] nums ) {
3
- if (nums == null || nums .length == 0 ) {
4
- return false ;
5
- }
6
-
7
- int totalSum = 0 ;
3
+ int sum = 0 ;
8
4
for (int num : nums ) {
9
- totalSum += num ;
5
+ sum += num ;
10
6
}
11
- if (totalSum % 2 == 1 ) {
7
+ if (sum % 2 != 0 ) {
12
8
return false ;
13
9
}
14
- totalSum /= 2 ;
15
10
16
- boolean [][] dp = new boolean [nums .length + 1 ][totalSum + 1 ];
11
+ sum /= 2 ;
12
+
13
+ boolean [][] dp = new boolean [nums .length + 1 ][sum + 1 ];
17
14
dp [0 ][0 ] = true ;
18
15
19
16
for (int i = 1 ; i <= nums .length ; i ++) {
20
- for (int j = 1 ; j <= totalSum ; j ++) {
21
- if (nums [i - 1 ] <= j ) {
17
+ dp [i ][0 ] = true ;
18
+ }
19
+
20
+ for (int i = 1 ; i <= nums .length ; i ++) {
21
+ for (int j = 1 ; j <= sum ; j ++) {
22
+ if (j >= nums [i - 1 ]) {
22
23
dp [i ][j ] = dp [i - 1 ][j ] || dp [i - 1 ][j - nums [i - 1 ]];
23
- } else {
24
- dp [i ][j ] = dp [i - 1 ][j ];
25
24
}
26
25
}
27
26
}
28
27
29
- return dp [nums .length ][totalSum ];
28
+ return dp [nums .length ][sum ];
30
29
}
31
30
}
You can’t perform that action at this time.
0 commit comments