题目描述:
向一个空栈压入正整数,每当压入一个整数时,执行以下规则(设:栈顶至栈底整数依次为n1,n2,. nx,其中n1为最新压入的整数)。
1.如果 n1 = n2,则 n1, n2 全部出栈,压入新数据 m(m =2*n1)
2.如果 n1 = n2 + ... + ny 的范围为 3,n,则 n1,n2,…, ny 全部出栈,压入新数据m(m=2*n1)3.如果上述规则均不满足,则不做操作。
如:依次向栈压入6,1,2,3,
1.当压入 2 时,栈顶至栈底依次为 2,1,6;
2.当压入3时,3=2+1,3,2,1全部出栈,重新入栈整数6,此时栈顶至栈底依次为 6,6;6=6,两个6全部出栈,压入 12,最终栈中只剩个元素 12。向栈中输入一串数字,请输出应用此规则后栈中最终存留的数字。
输入描述:
使用单个空格隔开的正整数的字符串 Q,如“5678”,左边的数字先入栈。
1.正整数大小为 [1,231-1]
2.正整数个数为 [1,1000]。
输出描述:
华为OD机试- 空栈压数-2024年OD统一考试(E卷)
于 2024-08-31 15:44:41 首次发布