diff --git a/Recursion/lecture 7/Fraz_recursion_7_2.java b/Recursion/lecture 7/Fraz_recursion_7_2.java index 00a937e..5044df8 100644 --- a/Recursion/lecture 7/Fraz_recursion_7_2.java +++ b/Recursion/lecture 7/Fraz_recursion_7_2.java @@ -1,20 +1,28 @@ -ArrayList> ans; -ArrayList subSet; - -void helper(ArrayList v, int i, ArrayList subSet, ArrayList> ans) { - if (i == v.size()) { - ans.add(subSet); +import java.util.ArrayList; +public class Solution { + static ArrayList> ans=new ArrayList<>(); + static ArrayList subSet=new ArrayList(); + + public static void helper(ArrayList v, int i, ArrayList subSet, ArrayList> ans) + { + if (i == v.size()) + { + ans.add(new ArrayList(subSet)); return; } // include the ith element subSet.add(v.get(i)); helper(v, i + 1, subSet, ans); // not including the ith element - subSet.remove(i); + subSet.remove(subSet.size() - 1); helper(v, i + 1, subSet, ans); } - -ArrayList> pwset(ArrayList v) { + + public static ArrayList> pwset(ArrayList v) { + // WRITE YOUR CODE HERE + helper(v, 0, subSet, ans); return ans; -} \ No newline at end of file + } +} +