diff --git a/stacks_queues/stack_min/stack_min_solution.ipynb b/stacks_queues/stack_min/stack_min_solution.ipynb index 55ceba5..8c263d5 100644 --- a/stacks_queues/stack_min/stack_min_solution.ipynb +++ b/stacks_queues/stack_min/stack_min_solution.ipynb @@ -77,7 +77,7 @@ "### Push\n", "\n", "* Push the data\n", - "* If the data is less than min\n", + "* If the data is equal or less than min\n", " * Push data to second stack\n", "\n", "Complexity:\n", @@ -105,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "collapsed": true }, @@ -116,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "collapsed": true }, @@ -139,7 +139,7 @@ "\n", " def push(self, data):\n", " super(StackMin, self).push(data)\n", - " if data < self.minimum():\n", + " if data <= self.minimum():\n", " self.stack_of_mins.push(data)\n", "\n", " def pop(self):\n", @@ -159,19 +159,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Overwriting test_stack_min.py\n" - ] - } - ], + "outputs": [], "source": [ "%%writefile test_stack_min.py\n", "from nose.tools import assert_equal\n", @@ -188,6 +180,9 @@ " stack.push(1)\n", " assert_equal(stack.peek(), 1)\n", " assert_equal(stack.minimum(), 1)\n", + " stack.push(1)\n", + " assert_equal(stack.peek(), 1)\n", + " assert_equal(stack.minimum(), 1)\n", " stack.push(3)\n", " assert_equal(stack.peek(), 3)\n", " assert_equal(stack.minimum(), 1)\n", @@ -201,6 +196,8 @@ " assert_equal(stack.pop(), 3)\n", " assert_equal(stack.minimum(), 1)\n", " assert_equal(stack.pop(), 1)\n", + " assert_equal(stack.minimum(), 1)\n", + " assert_equal(stack.pop(), 1)\n", " assert_equal(stack.minimum(), 5)\n", " assert_equal(stack.pop(), 5)\n", " assert_equal(stack.minimum(), sys.maxsize)\n", @@ -222,22 +219,11 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Test: Push on empty stack, non-empty stack\n", - "Test: Pop on non-empty stack\n", - "Test: Pop empty stack\n", - "Success: test_stack_min\n" - ] - } - ], + "outputs": [], "source": [ "run -i test_stack_min.py" ] @@ -259,9 +245,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.0" + "version": "3.7.0b4" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 2 } diff --git a/stacks_queues/stack_min/test_stack_min.py b/stacks_queues/stack_min/test_stack_min.py index 630fb1c..579b52a 100644 --- a/stacks_queues/stack_min/test_stack_min.py +++ b/stacks_queues/stack_min/test_stack_min.py @@ -1,4 +1,3 @@ -import sys from nose.tools import assert_equal @@ -13,6 +12,9 @@ class TestStackMin(object): stack.push(1) assert_equal(stack.peek(), 1) assert_equal(stack.minimum(), 1) + stack.push(1) + assert_equal(stack.peek(), 1) + assert_equal(stack.minimum(), 1) stack.push(3) assert_equal(stack.peek(), 3) assert_equal(stack.minimum(), 1) @@ -26,6 +28,8 @@ class TestStackMin(object): assert_equal(stack.pop(), 3) assert_equal(stack.minimum(), 1) assert_equal(stack.pop(), 1) + assert_equal(stack.minimum(), 1) + assert_equal(stack.pop(), 1) assert_equal(stack.minimum(), 5) assert_equal(stack.pop(), 5) assert_equal(stack.minimum(), sys.maxsize)