• #Leetcode# 1010. Pairs of Songs With Total Durations Divisible by 60


    https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/

    In a list of songs, the i-th song has a duration of time[i] seconds. 

    Return the number of pairs of songs for which their total duration in seconds is divisible by 60.  Formally, we want the number of indices i < j with (time[i] + time[j]) % 60 == 0.

    Example 1:

    Input: [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
    

    Example 2:

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

    Note:

    1. 1 <= time.length <= 60000
    2. 1 <= time[i] <= 500
    class Solution {
    public:
        int numPairsDivisibleBy60(vector<int>& time) {
            int num[100];
            memset(num, 0, sizeof(num));
            int len = time.size();
            int ans = 0;
            for(int i = 0; i < len; i ++) 
                num[time[i] % 60] ++;
            for(int i = 1; i < 30; i ++) 
                ans += num[i] * num[60 - i];
            if(num[30]) {
                ans += num[30] * (num[30] - 1) / 2;
            }
            if(num[0]) {
                ans += num[0] * (num[0] - 1) / 2;
            }
            return ans;
        }
    };
    

      

  • 相关阅读:
    week4
    week3
    2017福州大学面向对象程序设计寒假作业二
    Week2
    10个android开发必备的开源项目
    Day Ten
    Day Nine
    Day Eight
    Day Seven
    Day Six
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/12103896.html
Copyright © 2020-2023  润新知