class Solution { public: int countCompleteDayPairs(vector& hours) { unordered_map remainder_count; // Count the frequency of each remainder for (int hour : hours) { int remainder = hour % 24; remainder_count[remainder]++; } // Initialize the number of pairs to 0 int num_pairs = 0; // Calculate pairs for remainders 1 to 11 with their complements 23 to 13 for (int i = 1; i < 12; ++i) { num_pairs += remainder_count[i] * remainder_count[24 - i]; } // Calculate pairs for remainder 0 if (remainder_count[0] > 1) { num_pairs += (remainder_count[0] * (remainder_count[0] - 1)) / 2; } // Calculate pairs for remainder 12 if (remainder_count[12] > 1) { num_pairs += (remainder_count[12] * (remainder_count[12] - 1)) / 2; } return num_pairs; } };
Пікірлер: 1