This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static List<Integer> elements; | |
private static List<List<Integer>> subsetsWithSumK; | |
private static List<Integer> currentSubset; | |
private static int numberOfElements, methodCalls; | |
private static List<List<Integer>> subsetSum(int sumK, List<Integer> elementsArg) { | |
elements = elementsArg; | |
numberOfElements = elements.size(); | |
subsetsWithSumK = new ArrayList<>(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static List<Integer> elements; | |
private static List<List<Integer>> subsetsWithSumK; | |
private static List<Integer> currentSubset; | |
private static int numberOfElements, methodCalls; | |
private static List<List<Integer>> subsetSum(int sumK, List<Integer> elementsArg) { | |
elements = elementsArg; | |
numberOfElements = elements.size(); | |
subsetsWithSumK = new ArrayList<>(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static int numberOfElements; | |
private static List<List<Integer>> subsets; | |
private static List<Integer> currentSubset, elements; | |
private static List<List<Integer>> subsetRecursive(List<Integer> elementsArg) { | |
elements = elementsArg; | |
numberOfElements = elements.size(); | |
subsets = new ArrayList<>(); | |
currentSubset = new ArrayList<>(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static List<List<Integer>> subsetIterative(List<Integer> elements) { | |
System.out.println("Subsets of " + elements); | |
List<List<Integer>> subsets = new ArrayList<>(); | |
List<Integer> subset; | |
String subsetBinary; | |
int numberOfElements = elements.size(); | |
for (int i = 0; i < (1 << numberOfElements); i++) { | |
subsetBinary = convertToZeroPaddedBinaryString(i, numberOfElements); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static long factorialTopDownRecursion(long n) { | |
// base case | |
if (n <= 1) | |
return 1; | |
return n * factorialTopDownRecursion(n-1); | |
} | |
private static long factorialBottomUpRecursion(long n) { | |
return _factorialBottomUpRecursion(1, n); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static long factorialForLoop(long n) { | |
long result = 1; | |
for (int i = 1; i <= n; i++) { | |
result *= i; | |
} | |
return result; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"strings" | |
) | |
func main() { | |
// assuming user inputs 10, 5, 7 | |
var i, j int |