diff --git a/names/names.py b/names/names.py index ea158997f..369b4f468 100644 --- a/names/names.py +++ b/names/names.py @@ -10,13 +10,13 @@ names_2 = f.read().split("\n") # List containing 10000 names f.close() -duplicates = [] # Return the list of duplicates in this data structure +duplicates = [name for name in names_2 if name in names_1] # Return the list of duplicates in this data structure # Replace the nested for loops below with your improvements -for name_1 in names_1: - for name_2 in names_2: - if name_1 == name_2: - duplicates.append(name_1) +# for name_1 in names_1: +# for name_2 in names_2: +# if name_1 == name_2: +# duplicates.append(name_1) end_time = time.time() print (f"{len(duplicates)} duplicates:\n\n{', '.join(duplicates)}\n\n") diff --git a/reverse/reverse.py b/reverse/reverse.py index 6116252d1..b3e3f50ce 100644 --- a/reverse/reverse.py +++ b/reverse/reverse.py @@ -39,4 +39,16 @@ def contains(self, value): return False def reverse_list(self, node, prev): - pass + prev = None + node = self.head + nxt = None + + if not node: + return None + + while node is not None: + nxt= node.next_node + node.next_node = prev + prev = node + node = nxt + self.head = prev diff --git a/ring_buffer/ring_buffer.py b/ring_buffer/ring_buffer.py index 37e9fb0dd..741c64a51 100644 --- a/ring_buffer/ring_buffer.py +++ b/ring_buffer/ring_buffer.py @@ -1,9 +1,18 @@ class RingBuffer: def __init__(self, capacity): - pass + self.capacity = capacity + self.cur = 0 + self.data = [None]* capacity def append(self, item): - pass + if self.cur == self.capacity: + self.cur = 0 + self.data[self.cur]= item + self.cur += 1 def get(self): - pass \ No newline at end of file + while None in self.data: + self.data.remove(None) + + return self.data + \ No newline at end of file