Given an integer array `nums`, return `true` if you can partition the array into two subsets such that the sum of the elements in both subsets is equal, or `false` otherwise.
Dynamic Programming (Subset Sum with Set)
Track all reachable subset sums in a set. For each number, expand the set by adding that number to every existing sum. If the target (total/2) ever enters the set, return True.