      "        if data < self.min():\n",
      "            self.min_vals.push(data)\n",
      "\n",
      "    def pop(self):\n",
      "        data = super(MyStack, self).pop()\n",
      "        if data == self.min():\n",
      "            self.min_vals.pop()\n",
      "        return data"
     ]
    },
 
</s> remove     "        super(MyStack, self).push(data)\n",
 </s> add     "        super(StackMin, self).push(data)\n", </s> remove     "        super(MyStack, self).__init__(top)\n",
 </s> add  </s> remove     "* Space: O(n)\n",
 </s> add     "* Space: O(1)\n", </s> remove     "class MyStack(Stack):\n",
 </s> add     "class StackMin(Stack):\n",
    "        data = super(StackMin, self).pop()\n",
      "        if data < self.min():\n",
      "            self.min_vals.push(data)\n",
      "\n",
      "    def pop(self):\n",
    "        data = super(StackMin, self).pop()\n",
      "        if data == self.min():\n",
      "            self.min_vals.pop()\n",
      "        return data"
     ]
    },
keep keep keep keep replace keep keep keep keep keep
 Polish stack min challenge and solution (#72)

Update constraints, algorithm discussion, code, and tests. 
stacks_queues/stack_min/stack_min_solution.ipynb