about summary refs log tree commit diff
path: root/universe/deepmind/kth-to-last.py
diff options
context:
space:
mode:
Diffstat (limited to 'universe/deepmind/kth-to-last.py')
-rw-r--r--universe/deepmind/kth-to-last.py64
1 files changed, 0 insertions, 64 deletions
diff --git a/universe/deepmind/kth-to-last.py b/universe/deepmind/kth-to-last.py
deleted file mode 100644
index 5335e419f7ec..000000000000
--- a/universe/deepmind/kth-to-last.py
+++ /dev/null
@@ -1,64 +0,0 @@
-import unittest
-
-
-def kth_to_last_node(k, x):
-    a, b = x, x
-
-    if k == 0:
-        raise Exception('Value of 0 for k is not supported')
-
-    for _ in range(k - 1):
-        if not a.next:
-            raise Exception('Value of {} for k is too large'.format(k))
-        a = a.next
-
-    while a.next:
-        a, b = a.next, b.next
-    return b
-
-
-class Test(unittest.TestCase):
-    class LinkedListNode(object):
-        def __init__(self, value, next=None):
-            self.value = value
-            self.next = next
-
-        def get_values(self):
-            node = self
-            values = []
-            while node is not None:
-                values.append(node.value)
-                node = node.next
-            return values
-
-    def setUp(self):
-        self.fourth = Test.LinkedListNode(4)
-        self.third = Test.LinkedListNode(3, self.fourth)
-        self.second = Test.LinkedListNode(2, self.third)
-        self.first = Test.LinkedListNode(1, self.second)
-
-    def test_first_to_last_node(self):
-        actual = kth_to_last_node(1, self.first)
-        expected = self.fourth
-        self.assertEqual(actual, expected)
-
-    def test_second_to_last_node(self):
-        actual = kth_to_last_node(2, self.first)
-        expected = self.third
-        self.assertEqual(actual, expected)
-
-    def test_first_node(self):
-        actual = kth_to_last_node(4, self.first)
-        expected = self.first
-        self.assertEqual(actual, expected)
-
-    def test_k_greater_than_linked_list_length(self):
-        with self.assertRaises(Exception):
-            kth_to_last_node(5, self.first)
-
-    def test_k_is_zero(self):
-        with self.assertRaises(Exception):
-            kth_to_last_node(0, self.first)
-
-
-unittest.main(verbosity=2)