楼主: 
JIWP (JIWP)   
2024-06-22 17:33:443185. Count Pairs That Form a Complete Day II
给一个array hours
任选hours里的两个元素相加,hours[i]+hours[j]
请问可以找到几个组合可以得到complete day?
complete就是hours[i]+hours[j]是24的倍数
思路:
将hours里的每个数除以24
并去记录每个余数出现的次数
(0,0)、(1,23)、(2,22)...(12,12)可以组成complete day
将这些组合出现的次数相加
就可以得到答案了
golang code :
func countCompleteDayPairs(hours []int) int64 {
    rec, ans := [24]int{}, 0
        for _, val := range hours {
                tmp := val % 24
                rec[tmp]++
        }
        ans += rec[0] * (rec[0] - 1) / 2
        ans += rec[12] * (rec[12] - 1) / 2
        for i := 1; i < 12; i++ {
                ans += rec[i] * rec[24-i]
        }
        return int64(ans)
}