我有一个包含以下元素的队列:
1 None 2 3 None 4 5 6 7 None 8 9 10 11 12 13 14 15
在这里,没有人做分离器的工作,除此之外,什么也没有。你知道吗
现在我想这样打印输出:
8 9 10 11 12 13 14 15
4 5 6 7
2 3
1
我可以打印输出:
15 14 13 12 11 10 9 8
7 6 5 4
3 2
1
通过从右侧遍历队列。你知道吗
代码是:
length = len(sequenced_que)
for i in range(0, length):
temp = sequenced_que.pop()
if temp is None:
print()
else:
print(temp.data, end=" ")
8 9 10 11 12 13 14 15
4 5 6 7
2 3
1
通过使用临时堆栈可以实现上述所需的输出。我可以将元素推入堆栈,直到遇到“无”,然后开始弹出它们。你知道吗
但这需要额外的空间。你知道吗
我只需要一个有效的算法,而不是使用临时的斯塔克,你呢可以使用队列和列表的所有属性。你知道吗
谢谢:)
可以使用^{} 在所需元素处“拆分”数组。你知道吗
在上述之后,
blocks
等于[[8, 9, 10, 11, 12, 13, 14, 15], [4, 5, 6, 7], [2, 3], [1]]
。如果要以相同格式打印这些子阵列:使用
itertools
的解决方案:相关问题 更多 >
编程相关推荐