📅  最后修改于: 2023-12-03 15:26:46.467000             🧑  作者: Mango
在编程中,我们需要检查一个数组是否包含了给定的堆栈中的所有元素。这是一个常见的需求,因此我们需要一个简单而有效的算法来处理这个问题。
以下是一个简单的算法,用于检查给定的堆栈中是否包含了数组中的所有元素:
stack
堆栈对象,并将给定的堆栈压入其中。false
。false
。true
。以下是实现这个算法的示例代码:
def check_stack_contains_array_items(stack, arr):
for el in arr:
if el in stack:
stack.remove(el)
else:
return False
return len(stack) == 0
我们使用以下代码来测试上面的算法:
stack = [1, 2, 3, 4, 5]
arr1 = [1, 4, 2]
arr2 = [6, 7]
print(check_stack_contains_array_items(stack, arr1)) # True
print(check_stack_contains_array_items(stack, arr2)) # False
以上代码输出结果为:
True
False
以上算法可用于检查一个数组是否包含给定的堆栈中的所有元素。它简单、易懂,并且具有良好的性能。在实际编程过程中,可以考虑使用这个算法来处理相关的问题。