华为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机试有可能成为所有考试的标配,它将会给学生和教育工作者带来更多的便利和高效。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容