zoukankan      html  css  js  c++  java
  • 1010. 总持续时间可被 60 整除的歌曲

     数据量比较小,两个数相加最大不超过1000,那就先将1000以内的60的倍数存起来,

    记录time数组中每个数是否出现,以及下标,

    之后遍历time数组,对于time[i],遍历60的每个倍数m,如果m - time[i] 存在,并且下标大于i,则cnt++,存在几个就++几次,同时注意m 是否大于 time[i]

    class Solution {
    public:
        vector<int> v;
        struct node{
            int cnt = 0;
            vector<int> id;
    
        }Node[1010];
        int numPairsDivisibleBy60(vector<int>& time) {
            
            for(int i = 60; i <= 1000; i += 60)
                v.push_back(i);
            int length = time.size();
            int len = v.size();
            for(int i = 0; i < length; i++)
            {  
                Node[time[i]].cnt++;
                Node[time[i]].id.push_back(i);
            }
            int ans = 0;
            for(int i = 0; i < length; i++)
            {
                for(int j = 0; j < len; j++)
                {
                    if(v[j] == time[i]) continue;
                    else if(v[j] < time[i] || Node[v[j] - time[i]].cnt == 0) continue;
                    else
                    {
                        int m = v[j] - time[i];
                        int len2 = Node[m].id.size();
                        for(int k = 0; k < len2; k++)
                            if(Node[m].id[k] > i) ans++;
                    }
    
                }
            }
            return ans;
    
        }
    };
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    nginx搭建https服务器
    linux重新安装grub2
    docker使用笔记
    开户vim编程之--cscope支持
    mac代码自动补全git上
    python常用函数大总结
    服务器管理模块信息收集
    Virtual Data Optimizer虚拟存储优化器实战
    虚拟化-SDDC软件定义数据中心
    富士通 DX90 S2存储分配映射盘
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15370751.html
Copyright © 2011-2022 走看看