|
10 | 10 | },
|
11 | 11 | {
|
12 | 12 | "cell_type": "code",
|
13 |
| - "execution_count": 104, |
| 13 | + "execution_count": 1, |
14 | 14 | "metadata": {},
|
15 | 15 | "outputs": [],
|
16 | 16 | "source": [
|
17 |
| - "def knapsack(arr, cap):\n", |
18 |
| - " if len(arr) == 0:\n", |
19 |
| - " return [0, 0]\n", |
20 |
| - " if arr[0][1] <= cap:\n", |
21 |
| - " s1 = [e1+e2 for e1, e2 in zip(arr[0], knapsack(arr[1:], cap-arr[0][1]))]\n", |
22 |
| - " else:\n", |
23 |
| - " s1 = [0, 0]\n", |
24 |
| - " s2 = knapsack(arr[1:], cap)\n", |
25 |
| - " rslt = [s1, s2]\n", |
26 |
| - " return max(rslt, key=lambda x: (x[0], -x[1]))\n", |
27 |
| - "\n", |
28 |
| - "lst = [[3, 4], [2, 3], [4, 2], [4, 3]]\n", |
29 |
| - "summation, total_size = knapsack(lst, 6)\n", |
30 |
| - "print(\"Maximum Summation = {}, Total Size = {}\".format(summation, total_size))\n", |
31 |
| - "\n", |
32 |
| - "lst = [[1, 3], [5, 7], [8, 2], [4, 1], [3, 7], [5, 3], [1, 1], [6, 4]]\n", |
33 |
| - "summation, total_size = knapsack(lst, 10)\n", |
34 |
| - "print(\"Maximum Summation = {}, Total Size = {}\".format(summation, total_size))def greedy_diff(jobs):\n", |
| 17 | + "def greedy_diff(jobs):\n", |
35 | 18 | " diff = []\n",
|
36 | 19 | " for ele in jobs:\n",
|
37 | 20 | " diff.append((ele[0]-ele[1], ele))\n",
|
|
48 | 31 | },
|
49 | 32 | {
|
50 | 33 | "cell_type": "code",
|
51 |
| - "execution_count": 105, |
| 34 | + "execution_count": 2, |
52 | 35 | "metadata": {
|
53 | 36 | "scrolled": true
|
54 | 37 | },
|
|
59 | 42 | "(23, [(1, 2, 'j2'), (3, 5, 'j1')])"
|
60 | 43 | ]
|
61 | 44 | },
|
62 |
| - "execution_count": 105, |
| 45 | + "execution_count": 2, |
63 | 46 | "metadata": {},
|
64 | 47 | "output_type": "execute_result"
|
65 | 48 | }
|
|
0 commit comments