Pairs of Songs with Total Duration Divisible by 60
ID: 1010
Input: time = [30,20,150,100,40]
Output: 3
Explanation: Three pairs have a total duration divisible by 60:
(time[0] = 30, time[2] = 150): total duration 180
(time[1] = 20, time[3] = 100): total duration 120
(time[1] = 20, time[4] = 40): total duration 60Idea
Code
public int numPairsDivisibleBy60(int[] time) {
int[] lengthArr = new int[60];
for(int t: time){
int len = t%60;
lengthArr[len]++;
}
int result = 0;
for(int i = 0; i<=30; i++){
if(i==0){
int zeroCount = lengthArr[0];
if(zeroCount>1){
result += (zeroCount*(zeroCount-1))/2;
}
}
else{
if(i==30){
int thirtyCount = lengthArr[30];
if(thirtyCount>1){
result += (thirtyCount*(thirtyCount-1))/2;
}
}
else{
int thisCount = lengthArr[i];
int compCount = lengthArr[60-i];
result+= thisCount*compCount;
}
}
}
return result;
}Last updated