Skip to content

Commit d2f8d14

Browse files
committed
Backtracking on Arrays
1 parent e483588 commit d2f8d14

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

18-Backtracking/Backtracking.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
public class Backtracking {
2+
public static void printArr(int arr[]) {
3+
System.out.print("( ");
4+
for (int i = 0; i < arr.length - 1; i++) {
5+
System.out.print(arr[i] + " , ");
6+
}
7+
System.out.println(arr[arr.length - 1] + " )");
8+
}
9+
10+
public static void changeArr(int arr[], int i, int val) {
11+
// Base case
12+
if (i == arr.length) {
13+
printArr(arr);
14+
return;
15+
}
16+
// Recursion
17+
arr[i] = val;
18+
changeArr(arr, i + 1, val + 1); // fnx call step
19+
arr[i] = arr[i] - 2; // backtracking step
20+
}
21+
22+
public static void main(String[] args) {
23+
// Type of Backtracking --------------------------------
24+
// 1. Decision
25+
// 2. Optimization
26+
// 3. Enumeration
27+
28+
// Backtracking on Arrays --------------------------------
29+
int arr[] = new int[5];
30+
changeArr(arr, 0, 1);
31+
printArr(arr);
32+
}
33+
}

18-Backtracking/code.java

Whitespace-only changes.

0 commit comments

Comments
 (0)