python-使用栈-爱丽丝
2019-04-21 本文已影响0人
DKider
题目:假设爱丽丝选择了3个不同的整数,并将他们以随机序列放置在栈中,写一个简短的顺序型的伪代码(不包含循环或递归),其中只包含一次比较和一个变量x,使得爱丽丝的三个整数中的最大的以2/3的概率存储在变量x 中,试说明你的方法为什么正确。
我们只需要把栈顶元素弹出赋值给x,然后比较x和当前栈顶元素的大小,将大的数保存到x中。
from stack import ArrayStack
def find_x(stack):
x = stack.pop()
if x < stack.top():
x = stack.top()
return x
if __name__ == '__main__':
stk = ArrayStack()
stk.push(13)
stk.push(54)
stk.push(33)
print(find_x(stk))
这里引入的stack是我之前写的文章里的栈类,可以往前翻一翻。
结果:
今天要为明天的主题演讲做准备,所以就糊弄一下啦。。。。。。