你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成过去几回合的得分可能会影响以后几回合的得分。比赛开始时记录是空白的。你会得到一个记录操作的数组 ops其中 opsi 是你需要记录的第 i 项操作ops 遵循下述规则:整数 x - 表示本回合新获得分数 xD - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的分数。C - 表示前一次得分无效将
思路:使用栈来记录每一次得分,遇到整数入栈,遇到"D"则将前一次得分翻倍入栈,遇到"C"则弹出栈顶元素。最后将栈中所有得分相加即可。
时间复杂度:O(n),其中 n 为 ops 的长度。
Python3 代码:
原文地址: https://www.cveoy.top/t/topic/hbfm 著作权归作者所有。请勿转载和采集!