题解 | abb

abb

https://www.nowcoder.com/practice/0a8bbf8b9b5b4280957849ef4f240f07

void solve() {
    int n;cin >> n;
    string s;cin >> s;
    map<char, int>mp;
    map<char, map<char, int>>mp2;
    int ans = 0;
    for (char i : s) {
        for (char j = 'a';j <= 'z';j++) {
            ans += mp2[j][i];
        }
        for (char j = 'a';j <= 'z';j++) {
            if (i != j) {
                mp2[j][i] += mp[j];
            }
        }
        mp[i]++;
    }
    cout << ans << endl;
}

mp记录某个字符结尾的次数,mp2记录某两个字符结尾的次数,但不记录相同的,按题意更新答案即可,累加j i i这样格式的到ans

全部评论

相关推荐

11-04 10:30
已编辑
门头沟学院 研发工程师
开心小狗🐶:“直接说答案”
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务