力扣1010 总持续时间可被60整除的歌曲 暴力超时

1、暴力超时

map

这里有一个巧妙的方法

把所有取余以后的数据放在一个map里面

再去遍历一遍减去本身求他的60-它的数量就是用它组成几对

2、

class Solution {
public:
    int numPairsDivisibleBy60(vector<int>& time) {
        map<int,int> mp;
        int res=0;
        for(int a : time)
        {
            mp[a%60]++;
        }
        for(int a : time)
        {
            int mod=a%60;
            mp[mod]--;
            int target=mod==0?0:60-mod;
            res+=mp[target];
        }
        return res;
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章