All pastes #434037 Raw Edit

Mine

public text v1 · immutable
·published 2007-04-11 04:14 UTC
rendered paste body
public class PowerSet
{

    public static void main( String args[] ) {
        if( args.length > 0 ) {
            TreeSet fin = generate( args, 0 );
            Iterator iter = fin.iterator();
            System.out.print( "{ \"\", " );
            do {
                System.out.print( iter.next() );
                if( iter.hasNext() ) {
                    System.out.print( ", " );
                } else {
                    System.out.println( " }" );
                }
            } while( iter.hasNext() );
        } else {
            System.out.println( "{ \"\" }" );
        }
    }

    private static TreeSet generate( String args[], int index ) {
        if( index + 1 == args.length ) {
            TreeSet temp = new TreeSet();
            temp.add( args[ index ] );
            return temp;
        } else {
            TreeSet initial = generate( args, index + 1 );
            TreeSet result = new TreeSet( new PowerComparator() );
            result.add( args[ index ] );
            Iterator iter = initial.iterator();
            while( iter.hasNext() ) {
                String string = ( String )( iter.next() );
                result.add( string );
                result.add( args[ index ] + string );
            }
            return result;
        }
    }

} // PowerSet