diff --git a/dynamic_programming/fractional_knapsack.py b/dynamic_programming/fractional_knapsack.py index 881b6a3969d0..728cdeb009ac 100644 --- a/dynamic_programming/fractional_knapsack.py +++ b/dynamic_programming/fractional_knapsack.py @@ -3,6 +3,10 @@ def fracKnapsack(vl, wt, W, n): + """ + >>> fracKnapsack([60, 100, 120], [10, 20, 30], 50, 3) + 240.0 + """ r = list(sorted(zip(vl, wt), key=lambda x: x[0] / x[1], reverse=True)) vl, wt = [i[0] for i in r], [i[1] for i in r] @@ -16,5 +20,7 @@ def fracKnapsack(vl, wt, W, n): else sum(vl[:k]) ) +if __name__ == "__main__": + import doctest -print("%.0f" % fracKnapsack([60, 100, 120], [10, 20, 30], 50, 3)) + doctest.testmod()