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是我之前写的文章里的栈类,可以往前翻一翻。
结果:

哎呀

今天要为明天的主题演讲做准备,所以就糊弄一下啦。。。。。。

上一篇下一篇

猜你喜欢

热点阅读