Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public ArrayList<ArrayList<Integer>> backtracking(ArrayList<Integer> A, ArrayList<Integer> temp, int B, int sum) {
- ArrayList<ArrayList<Integer>> result = new ArrayList<>();
- if (sum == B) {
- result.add(temp);
- return result;
- }
- if(sum > B) {
- return result;
- }
- for (int i = 0; i < A.size(); i++) {
- sum += A.get(i);
- temp.add(A.get(i));
- ArrayList<ArrayList<Integer>> returned = backtracking(A, temp, B, sum);
- for(ArrayList<Integer> list : returned) {
- result.add(list);
- }
- sum -= A.get(i);
- temp.remove(temp.size() - 1);
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement