精華區beta Marginalman 關於我們 聯絡資訊
3185. 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) } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.226.40 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1719048827.A.87C.html
SydLrio: 大師 06/22 18:04