---
# System prepended metadata

title: Leetcode 1010. Pairs of Songs With Total Durations Divisible by 60
tags: [Leetcode(C++)]

---

# Leetcode 1010. Pairs of Songs With Total Durations Divisible by 60
###### tags: `Leetcode(C++)`

題目 : https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/submissions/ 。

想法 : 

    1. 把所有的數都先模60。
    2. 計算0~60各個數字的個數。
    3. 0或是30就是C從n取2，剩下的數字如果不是0就互乘，Ex:1*59、2*58。
    4. 全部加在一起。

時間複雜度 : O(n)。

程式碼 :

```
class Solution {
public:
    int numPairsDivisibleBy60(vector<int>& time) {
        int sum=0, l=time.size(),val[70]={0};
        
        for(int i=0 ; i<l ; i++){
            time[i]=time[i]%60;
        }
        
        for(int i=0 ; i<l ; i++){
            val[time[i]]++;
        }
        
        if(val[0]  != 0 && val[0]  != 1) sum+= val[0]*( val[0]-1)/2;
        if(val[30] != 0 && val[30] != 1) sum+=val[30]*(val[30]-1)/2;
        
        for(int i=1 ; i<=29 ; i++){
            if(val[i] != 0 && val[60-i] != 0){
                sum+=val[i]*val[60-i];
            }
        }
        
        return sum;
    }
};
```