(41)速算机器人

文章目录


每日一言

愚昧从来没有给人带来幸福;幸福的根源在于知识。------左拉


题目

题目链接:速算机器人

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

"A" 运算:使 x = 2 * x + y;

"B" 运算:使 y = 2 * y + x。

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

  • 示例 1:
    输入:s = "AB"
    输出:4
    解释: 经过一次 A 运算后,x = 2, y = 0。 再经过一次 B 运算,x = 2, y = 2。 最终 x 与 y 之和为 4。

提示:

0 <= s.length <= 10

s 由 'A' 和 'B' 组成


解题思路

遍历字符串,通过选择语句来决定走 A 运算还是B 运算

注意:字符串可能为空串

代码

c 复制代码
int calculate(char* s) {
    size_t len = strlen(s);
    if(!len)
        return 1;
    int x=1,y=0;
    for(int i=0;i<len;i++)
    {
        if('A' == s[i])
        {
            x = 2 * x + y;
        }
        else
            y = 2* y + x;
    }
    return x+y;
}

结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正


相关推荐
秃头佛爷2 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
dayouziei4 小时前
java的类加载机制的学习
java·学习
励志成为嵌入式工程师5 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
Peter_chq5 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
hikktn7 小时前
如何在 Rust 中实现内存安全:与 C/C++ 的对比分析
c语言·安全·rust
观音山保我别报错7 小时前
C语言扫雷小游戏
c语言·开发语言·算法
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习
晨曦_子画8 小时前
3种最难学习和最容易学习的 3 种编程语言
学习
城南vision8 小时前
Docker学习—Docker核心概念总结
java·学习·docker
ctrey_9 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习