力扣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;
    }
};

 

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