(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;
}

结语

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


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

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

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


相关推荐
Chef_Chen4 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电4 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
海的诗篇_5 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
AgilityBaby5 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby5 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5
hjyowl5 小时前
题解:AT_abc407_c [ABC407C] Security 2
c语言·开发语言·算法
武昌库里写JAVA6 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计
old_power7 小时前
UCRT 和 MSVC 的区别(Windows 平台上 C/C++ 开发相关)
c语言·c++·windows
一弓虽7 小时前
git 学习
git·学习
@老蝴8 小时前
C语言 — 编译和链接
c语言·开发语言