Skip to main content

Subsets Of Array

1. You are given a number n, representing the count of elements.
2. You are given n numbers.
3. You are required to print all subsets of arr. Each subset should be
on separate line. For more clarity check out sample input and output.

Input Format

A number n
n1
n2
.. n number of elements

Output Format

[Tab separated elements of subset]
..
All subsets

Constraints

1 <= n <= 10

0 <= n1, n2, .. n elements <= 10^3

Sample Input

3

10

20

30

Sample Output

- - -

- - 30

- 20 -

- 20 30

10 - -

10 - 30

10 20 -

10 20 30

Solution:

import java.io.*;

import java.util.*;


public class Main{


public static void main(String[] args) throws Exception {

    // write your code here

    Scanner scn = new Scanner(System.in);

    int n= scn.nextInt();

    int[] A = new int[n];

    for(int i=0;i<n;i++)

        A[i] = scn.nextInt();

        

    int num = (int)Math.pow(2,n);

    for(int i=0;i<num;i++){

        String str = "";

        int temp = i;

        for(int j=n-1;j>=0;j--){

            int pos = temp%2;

            temp/=2;

            if(pos == 1){

                str = A[j] + "\t" + str;

            }else{

                str = "-\t" + str;

            }

        }

        System.out.println(str);

    }

 }


}

Comments