Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Optimal Account Balancing
Bookmark
Backtracking
With Pruning
Bitmask DP
Input
Example 1
Example 2
Example 3
Custom
transactions
=
[[0,1,10],[2,0,5]]
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
10
-5
-
+
-
start
Call Stack
backtrack(0)
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
10
-5
-
+
-
start
j
Call Stack
backtrack(0)
minTxns = ∞
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
5
-5
-
+
-
start / j
Call Stack
backtrack(1)
backtrack(0)
minTxns = ∞
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
5
-5
-
+
-
start
j
Call Stack
backtrack(1)
backtrack(0)
minTxns = ∞
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
5
0
-
+
0
start / j
Call Stack
backtrack(2)
backtrack(1)
backtrack(0)
minTxns = ∞
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
5
0
-
+
0
start
j
Call Stack
backtrack(1)
backtrack(0)
minTxns = 1
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
5
-5
-
+
-
start
j
Call Stack
backtrack(0)
minTxns = 2
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
10
-5
-
+
-
start
j
Call Stack
backtrack(0)
minTxns = 2
Transactions
Person 0 → Person 1: $10
Person 2 → Person 0: $5
Balances (non-zero)
0
1
2
-5
10
-5
-
+
-
start
j
Minimum Transactions = 2
algo
master
.
io
Step:
Starting Optimal Account Balancing (Backtracking)
0 / 24
Input
Example 1
Example 2
Example 3
Custom
transactions
=
[[0,1,10],[2,0,5]]
0 / 24
algo
master
.
io
Step:
Starting Optimal Account Balancing (Backtracking)