Hi,
I think there’s a mistake in the C++ optimized code - lines 12-15 are currently:
// populate the sum=0 columns, as we can always form ‘0’ sum with an empty set
for (int i = 0; i < n; i++) {
dp[i] = true;
}
And should just be:
// populate the sum=0 column, as we can always form ‘0’ sum with an empty set
dp[0] = true;
The above lines are especially problematic if the sum is greater than the number of elements in num.
The Java code is correct.
Thanks!