华为OD机试,入栈出栈

入栈出栈 💥

题目 🤔

向一个空栈中依次存入正整数,假设入栈元素 N (1 <= N <= 2^31-1),按顺序依次为 N_x ... N_4、N_3、N_2、N_1
当元素入栈时,如果 N1=N2+...Ny (y的范围[2,x],1 <= x <= 1000)
N1Ny 全部元素出栈,重新入栈新元素 M(M=2*N1)
如依次向栈存储 6、1、2、3,当存储 6、1、2 时,
栈底至栈顶以此为 [6、1、2]:当存入 3 时,3=2+13、2、1 全部出栈,重新入栈元素 6(6=2*3) 此时栈中有元素 6
因为 6=6,所有两个六全部出栈存入 12
最终栈中只剩一个元素 12

输入 📥

使用单个空格隔开的正整数的字符串,如:5 6 7 8,左边的数字先入栈。
输入的正整数个数为 x1 <= x <= 1000

输出 📤

最终栈中存留的元素值,元素值使用空格隔开,如 8 7 6 5,栈顶数字在左边。

题解地址 📤

华为OD机试

从OD机试看未来的考试
OD机试是未来考试的一种趋势,它具有便利、高效、公平等特点。在OD机试中,学生可以自主选择时间和地点,同时也不受考场的限制。机试的防作弊措施也会逐渐升级,保证考试的公平性和准确性。在未来,OD机试有可能成为所有考试的标配,它将会给学生和教育工作者带来更多的便利和高效。

posted @ 2023-03-08 12:13  梦想橡皮擦  阅读(199)  评论(0编辑  收藏  举报