列表

详情


LCP 17. 速算机器人

小扣在秋日市集发现了一款速算机器人。店家对机器人说出两个数字(记作 xy),请小扣说出计算指令:

在本次游戏中,店家说出的数字为 x = 1y = 0,小扣说出的计算指令记作仅由大写字母 AB 组成的字符串 s,字符串中字符的顺序表示计算顺序,请返回最终 xy 的和为多少。

示例 1:

输入:s = "AB"

输出:4

解释: 经过一次 A 运算后,x = 2, y = 0。 再经过一次 B 运算,x = 2, y = 2。 最终 x 与 y 之和为 4。

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int calculate(string s) { } };

python3 解法, 执行用时: 36 ms, 内存消耗: 14.9 MB, 提交时间: 2021-05-18 15:37:48

class Solution:
    def calculate(self, s: str) -> int:
        x, y = 1, 0
        for t in s:
            if t == 'A':
                x = 2 * x + y
            elif t == 'B':
                y = 2 * y + x
        return x + y

上一题