leetcode_2103 环和杆

1. 题意

10个环。给定一个字符串每两个字符一组,第一个字符表示颜色(R,G,B),第二个字符表示在第几根杆上。求多少根杆上每个颜色都有。

环和杆

2. 题解

直接模拟记录即可,用位运算压缩。

cpp 复制代码
class Solution {
public:
    int countPoints(string rings) {
        function<int(char)> getIdx = [](char c)->int
        {
            if ( c == 'R')
                return 1;
            if ( c == 'G')
                return 2;
            if ( c == 'B' )
                return 4;
            return 0;
        };

        int sz = rings.size();

        int mem[10] = {0};
        for ( int i = 0;i < sz; i += 2) {
            mem[rings[i + 1] - '0'] |= getIdx(rings[i]);
        }


        return count(mem, mem + 10, 7);
    }

};
相关推荐
森焱森1 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
QuantumStack3 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
写个博客4 小时前
暑假算法日记第一天
算法
绿皮的猪猪侠4 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
hie988944 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
杰克尼4 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表
.30-06Springfield5 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦5 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
xiaolang_8616_wjl5 小时前
c++文字游戏_闯关打怪
开发语言·数据结构·c++·算法·c++20
small_wh1te_coder5 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c