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

结语

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


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

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

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


相关推荐
lingggggaaaa16 分钟前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
口袋物联16 分钟前
设计模式之建造者模式在 C 语言中的应用(含 Linux 内核实例)
c语言·设计模式·建造者模式
切糕师学AI1 小时前
位带操作(Bit-Banding)是什么?
c语言·arm·嵌入式开发·cortex-m·位带操作
学习路上_write1 小时前
嵌入式系统bringup指南:软硬件调试
c语言·单片机·嵌入式硬件
say_fall1 小时前
C语言编程实战:每日一题 - day7
c语言·开发语言
小龙报1 小时前
《算法通关指南数据结构和算法篇(2)--- 链表专题》
c语言·数据结构·c++·算法·链表·学习方法·visual studio
醉颜凉2 小时前
环形房屋如何 “安全劫舍”?动态规划解题逻辑与技巧
c语言·算法·动态规划
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [kernel]workqueue
linux·笔记·学习
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [kernel]usermode_helper
linux·笔记·学习
望眼欲穿的程序猿3 小时前
Win系统Vscode+CoNan+Cmake实现调试与构建
c语言·c++·后端