I know 'best' is subjective, so according to you, what is the best solution for the following problem:
Given a string of length n (say "abc"), generate all proper subsets of the string. So, for our example, the output would be {}, {a}, {b}, {c}, {ab}, {bc}, {ac}. {abc}.
What do you think?