我使用while循环遍历链接的节点列表,每个节点都有一个堆栈值。如果堆栈的顶部值对于一行中的3个节点是相同的,则需要移除顶部值,并且需要对点进行评分。我将如何跟踪哪些堆栈需要删除其最高值?到目前为止我所拥有的(将得分,但我不知道如何跟踪需要删除的节点)此外,我根本不允许使用任何类型的python列表。如果我不清楚,如果连续3个,他们将被删除并且得分,类似于宝石迷阵。每个节点都有一个堆栈作为其值。
cur_node = self._front
previous = cur_node.get_value().peek()
cur_node = cur_node.next
in_a_row = False
points_gained = 0
count = 0
while cur_node:
current = cur_node.get_value().peek()
if current == previous:
count = count + 1
else:
if in_a_row:
points_gained = points_gained + (count ** 2)
in_a_row = False
count = 1
if count >= 3:
in_a_row = True