คุณจะได้รับรายชื่อเพลงที่เพลงนั้นมีความยาว time[i] วินาที

ส่งกลับ จำนวนคู่เพลงที่ระยะเวลารวมเป็นวินาทีหารด้วย 60 อย่างเป็นทางการ เราต้องการจำนวนดัชนี i, j โดยที่ i < j มี (time[i] + time[j]) % 60 == 0

ตัวอย่างที่ 1:

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 60

ตัวอย่างที่ 2:

Input: time = [60,60,60]
Output: 3
Explanation: All three pairs have a total duration of 120, which is divisible by 60.

ข้อจำกัด:

  • 1 <= time.length <= 6 * 104
  • 1 <= time[i] <= 500

สารละลาย:

เราต้องการไม่ ของคู่ซึ่งมีผลรวมเป็นทวีคูณของ 60

ดังที่เราทราบ (n*x+k)%x == k หมายความว่าเราต้องการ mod(%) ของทุก ๆ หมายเลขด้วย 60

ถ้า a+b = 60 แล้ว b = 60-a หมายความว่าถ้าเรามี 20 เราก็จะต้องได้ 60–20=40 เพื่อทำให้ผลรวมของมันเท่ากับ 60

อีกกรณีหนึ่งคือเมื่อตัวเลขเป็นผลคูณของ 60 หรือ 0 แต่เรารู้ว่า 0 หรือผลคูณอื่นๆ ของ 60 รวมกันเป็นผลคูณของ 60 และ mod ที่มี 60 จะทำให้พวกมันกลายเป็น 0 ดังนั้นเราจึงสามารถจัดการกรณีนี้ได้เช่นกัน

รหัส:

บทสรุป:

มันคือปัญหาของวันที่ 2 มกราคม 2022 — ปัญหาประจำวันของ Leetcode หากคุณต้องการมากกว่านี้ โปรดติดตามเพื่อรับการอัปเดตเพิ่มเติม

แสดงความคิดเห็นความคิดอันมีค่าของคุณหรือข้อเสนอแนะเกี่ยวกับการปรับเปลี่ยนโซลูชัน