Given an integer array nums, return true if you can partition the array into two subsets such that the sum of elements in both subsets is equal, otherwise return false.
Example 1:
Input: nums = [1,5,11,5]
Output: true
Explanation: The array can be partitioned as [1,5,5] and [11], both summing to 11.
Example 2:
Input: nums = [1,2,3,5]
Output: false
Explanation: The total sum is 11, which is odd, so it cannot be partitioned into two equal subsets.
Example 3:
Input: nums = [1,2,5,2]
Output: false
Explanation: The total sum is 10, but no subset sums to 5.
1 <= nums.length <= 2001 <= nums[i] <= 100