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

全部评论

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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