From 42d7f78fb4b6d916c2bbc1bb53534f28fec1616d Mon Sep 17 00:00:00 2001 From: BamaCharanChhandogi Date: Mon, 17 Apr 2023 09:51:30 +0530 Subject: [PATCH 1/2] add all-Combination using Backtracking --- .../thealgorithms/backtracking/all combinations algorithm.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/java/com/thealgorithms/backtracking/all combinations algorithm.java diff --git a/src/main/java/com/thealgorithms/backtracking/all combinations algorithm.java b/src/main/java/com/thealgorithms/backtracking/all combinations algorithm.java new file mode 100644 index 000000000000..e69de29bb2d1 From 315938a3d128c7a27be58369f3f118ba4a58867a Mon Sep 17 00:00:00 2001 From: BamaCharanChhandogi Date: Mon, 17 Apr 2023 10:07:43 +0530 Subject: [PATCH 2/2] add all-Combination using Backtracking --- .../backtracking/AllCombination.java | 43 +++++++++++++++++++ .../all combinations algorithm.java | 0 2 files changed, 43 insertions(+) create mode 100644 src/main/java/com/thealgorithms/backtracking/AllCombination.java delete mode 100644 src/main/java/com/thealgorithms/backtracking/all combinations algorithm.java diff --git a/src/main/java/com/thealgorithms/backtracking/AllCombination.java b/src/main/java/com/thealgorithms/backtracking/AllCombination.java new file mode 100644 index 000000000000..cddf0c9ef413 --- /dev/null +++ b/src/main/java/com/thealgorithms/backtracking/AllCombination.java @@ -0,0 +1,43 @@ +package com.thealgorithms.backtracking; + +import java.util.ArrayList; +import java.util.List; +public class AllCombination { + public static List> combinations(int n, int k) { + List> results = new ArrayList<>(); + int[] nums = new int[n]; + + // Initialize the nums array with values from 1 to n + for (int i = 0; i < n; i++) { + nums[i] = i + 1; + } + + backtrack(0, new ArrayList(), nums, k, results); + + return results; + } + + private static void backtrack(int start, List curr, int[] nums, int k, List> results) { + if (curr.size() == k) { + results.add(new ArrayList(curr)); + return; + } + + for (int i = start; i < nums.length; i++) { + curr.add(nums[i]); + backtrack(i + 1, curr, nums, k, results); + curr.remove(curr.size() - 1); + } + } + + public static void main(String[] args) { + int n = 5; + int k = 3; + List> results = combinations(n, k); + + System.out.println("All possible combinations of " + k + " numbers out of 1 to " + n + ": "); + for (List result : results) { + System.out.println(result.toString()); + } + } +} diff --git a/src/main/java/com/thealgorithms/backtracking/all combinations algorithm.java b/src/main/java/com/thealgorithms/backtracking/all combinations algorithm.java deleted file mode 100644 index e69de29bb2d1..000000000000