题解 | 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

全部评论

相关推荐

牛客20485985...:抱抱😘,首先你还有春招,然后就算这时候没上岸也没关系,大部分人都是这样,毕业了再找也成,最后工作只是生活的一小部分,找到工作也不是一个必须的事情。不要气馁不要焦虑你只是陷入了短暂的低谷,你也一直有退路
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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