题目:
代码:
class Solution {
public:
int numPairsDivisibleBy60(vector<int>& time) {
int arr[60];
for(int i=0;i<60;i++) arr[i]=0;
for(int i=0;i<time.size();i++){
arr[time[i]%60]+=1;
}
int ans=arr[0]*(arr[0]-1)/2+arr[30]*(arr[30]-1)/2;
for(int i=1;i<30;i++) ans+=arr[i]*arr[60-i];
return ans;
}
};
榜首:
static int n=[](){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);return 0;}();
class Solution {
public:
int numPairsDivisibleBy60(vector<int>& time) {
int rs = 0;
vector<int>hash(60); //0-59
for (int num : time) {
int mod = num % 60;
//target -> 60-mod的下标 如果60-mod存在 则满足题意 +1
//如果 mod = 0 不能60-mod了 换成0 下次找0
int target = mod == 0 ? 0 : 60 - mod;
rs += hash[target];
hash[mod]++;
}
return rs;
}
};