Leetcode 1128. 等价多米诺骨牌对的数量(终于解决)
Published on 2022-05-16 22:32 in 暂未分类 with 萧海~

Leetcode 1128. 等价多米诺骨牌对的数量(终于解决)

    在这里插入图片描述
    给你一个由一些多米诺骨牌组成的列表 dominoes。

    如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。

    形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 ac 且 bd,或是 ad 且 bc。

    在 0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i] 和 dominoes[j] 等价的骨牌对 (i, j) 的数量。

    示例:

    输入:dominoes = [[1,2],[2,1],[3,4],[5,6]]
    输出:1

    提示:

    • 1 <= dominoes.length <= 40000
    • 1 <= dominoes[i][j] <= 9

    主要思路:构造map<vector,int>mymap;
    Code:

    class Solution {
    public:
    int numEquivDominoPairs(vector<vector<int>>& dominoes) {
    map<vector<int>,int>mymap;
    for(int i=0;i<dominoes.size();i++)
    {
    sort(dominoes[i].begin(),dominoes[i].end());
    mymap[dominoes[i]]++;
    }
    // cout<<mymap.size()<<endl;
    int res=0;
    map<vector<int>,int>::iterator it;
    for(it=mymap.begin();it!=mymap.end();++it)
    {
    // cout<<it->second<<endl;
    if(it->second>=2)
    {
    res+=((it->second)*(it->second-1))/2;
    }
    }
    return res;
    }
    };
    posted @   萧海~  阅读(19)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 上周热点回顾(3.3-3.9)
    历史上的今天:
    2021-05-16 简单好用的Log类, easylogging++
    2021-05-16 static的应用和作用
    2021-05-16 TCP长连接和Keepalive详解
    点击右上角即可分享
    微信分享提示
    电磁波切换