Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.2 kB
2
Indexable
// "static void main" must be defined in a public class.

class Solution {
    public ArrayList<ArrayList<Integer> > generateSubArrays(int array[]) {
        int n = array.length;
        int subArraysCount = (int)Math.pow(2.0,n)-1;
        ArrayList<ArrayList<Integer> > subArrays = new ArrayList<ArrayList<Integer> >(subArraysCount);
        subArrays.add(new ArrayList<Integer>());
        ArrayList<Integer> temp = new ArrayList<Integer>();
        for(int i=0; i<n; i++) {
            for(int len=0; i+len<n; len++){
                for(int idx=i; idx<=i+len; idx++)temp.add(array[idx]);
                subArrays.add((ArrayList<Integer>)temp.clone());
                temp.clear();
            }
        }
        return subArrays;
    }
}


public class Main {
    public static void main(String[] args) {
        int[] testArray = {1,2,3};
        ArrayList<ArrayList<Integer> > subArrays = new Solution().generateSubArrays(testArray);
        for(ArrayList<Integer> subArray: subArrays) {
            System.out.print("SubArray: [ ");
            for(int elem: subArray) {
                System.out.print(elem + ", ");
            }
            System.out.println(" ]");
        }
    }
}