华为OD机试 2023B卷题库疯狂收录中,刷题点这里
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
向一个空栈中依次存入正整数,假设入栈元素 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), 则 N1 到 Ny 全部元素出栈,重新入栈新元素 M(M=2*N1)。
如依次向栈存储 6、1、2、3,当存储 6、1、2 时, 栈底至栈顶以此为 [6、1、2]:当存入 3 时,3=2+1, 3、2、1 全部出栈,重新入栈元素 6,(6=2*3) 此时栈中有元素 6, 因为 6=6,所有两个六全部出栈存入 12。 最终栈中只剩一个元素 12。
使用单个空格隔开的正整数的字符串,如:5 6 7 8,左边的数字先入栈。 输入的正整数个数为 x,1 <= x <= 1000。
最终栈中存留的元素值,元素值使用空格隔开,如 8 7 6 5,栈顶数字在左边。
输入 | 输出 | 说明 |
---|---|---|
通过java8 Stream表达式(简洁/方便/上档次)快速拆解输入行;
下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)
本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。