网址:https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/submissions/
参考:https://blog.csdn.net/Sea_muxixi/article/details/88649191
- 直接双层for循环必定tle
- 在一轮遍历中将t取余存入map中
- 之后只需要遍历一个大小为60的map即可解决问题
1 class Solution { 2 public: 3 int numPairsDivisibleBy60(vector<int>& time) { 4 map<int,int> m; 5 int nums = 0; 6 for(int t:time) 7 m[t%60]++; 8 if(m[0]) 9 nums = m[0] * (m[0]-1) / 2; 10 cout << nums << endl; 11 for(int i=1;i<30;i++) 12 { 13 nums += m[i] * m[60-i]; 14 } 15 if(m[30]) 16 nums += m[30] * (m[30]-1) / 2; 17 return nums; 18 } 19 };