Given an integer array that may contain duplicates, return all possible subsets (the power set). The solution set must not contain duplicate subsets.
For [1,2,2], the subsets are: [], [1], [2], [1,2], [2,2], [1,2,2]. Notice [2] appears once, not twice, even though there are two 2s in the input.