美文网首页
LCP-17-速算机器人

LCP-17-速算机器人

作者: 阿凯被注册了 | 来源:发表于2020-10-16 13:28 被阅读0次

    小扣在秋日市集发现了一款速算机器人。店家对机器人说出两个数字(记作 x 和 y),请小扣说出计算指令:
    "A" 运算:使 x = 2 * x + y;
    "B" 运算:使 y = 2 * y + x。
    在本次游戏中,店家说出的数字为 x = 1 和 y = 0,小扣说出的计算指令记作仅由大写字母 A、B 组成的字符串 s,字符串中字符的顺序表示计算顺序,请返回最终 x 与 y 的和为多少。

    image.png

    解题思路

    1. A: x + y = 2*x+y+y = 2*(x+y)
    2. B: x + y = x+2*y+x = 2*(x+y)
    3. 出现AorB,x+y都等于2;
    4. len(s)即为AB出现的次数。

    Python3代码

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

    相关文章

      网友评论

          本文标题:LCP-17-速算机器人

          本文链接:https://www.haomeiwen.com/subject/numppktx.html