首页 > 其他分享 >1604. 警告一小时内使用相同员工卡大于等于三次的人

1604. 警告一小时内使用相同员工卡大于等于三次的人

时间:2023-04-07 19:56:02浏览次数:58  
标签:name int time list 1604 vector ans 三次 警告

题目链接:1604. 警告一小时内使用相同员工卡大于等于三次的人

方法:模拟

解题思路

先对数据进行处理,根据 \(name\) 将其时间存储在哈希表中,对哈兮表进行遍历,每个 \(name\) 对应一个时间序列,首先对时间序列进行从小到大排序,从 \(i = 2\) 开始遍历该序列,若存在 \(list[i - 2] + 60 >= list[i]\),则发送警告,即将该 \(name\) 存储起来。最后对答案数组进行字母序排序。

代码

class Solution {
public:
    vector<string> alertNames(vector<string>& keyName, vector<string>& keyTime) {
        int n = keyName.size();
        unordered_map<string, vector<int>> timeMap;
        for(int i = 0; i < n; i ++ ) {
            string name = keyName[i];
            string time = keyTime[i];
            int hour = (time[0] - '0') * 10 + (time[1] - '0');
            int minute =  (time[3] - '0') * 10 + (time[4] - '0');
            timeMap[name].emplace_back(hour * 60 + minute);
        }
        vector<string> ans;
        for (auto &[name, list] : timeMap) {
            sort(list.begin(), list.end());
            for (int i = 2; i < list.size(); i ++ ) {
                if (list[i - 2] + 60 >= list[i]) {
                    ans.emplace_back(name);
                    break;
                }
            }
        }
        sort(ans.begin(), ans.end());
        return ans;
    }
};

复杂度分析

时间复杂度:\(O(n*logn)\);
空间复杂度:\(O(n)\)。

标签:name,int,time,list,1604,vector,ans,三次,警告
From: https://www.cnblogs.com/lxycoding/p/17297190.html

相关文章

  • 力扣1050(MySQL)-合作过至少三次的演员和导演(简单)
    题目:ActorDirector 表: 写一条SQL查询语句获取合作过至少三次的演员和导演的id对 (actor_id,director_id)示例:  建表语句:1createtableifnotexistsactordirector_1050(actor_idint(3),director_idint(3),timestampint(3)primarykey);2truncatetable......
  • JavaScript 弹出框(警告框、确认框、提示框)
    JavaScript有三种类型弹出框:警告框、确认框、提示框。一、警告框如果要确保信息传递给用户,通常会使用警告框。当警告框弹出时,用户将需要单击“确定”来继续基础语句 <script> //警告框 window.alert("成功弹出警告框!");//window.alert()方法可以不带window前缀。 ......
  • Vue3——使用deep进行样式穿透的时候发出v-deep警告
    前言其实只是一个警告,如果你不在意也是可以的,不过有点强迫症就按着提示说的改了,然后又去官网看了下对应的文档;!>::v-deepusageasacombinatorhasbeendeprecated.Use:deep()instead.这里没啥好说的,因为Vue3的文档中有对应的解释组件作用域CSS了,而且就算不看文档根据提......
  • 记几次 [线上环境] Dubbo 线程池占满原因分析(第三次:GC STW)
    转载:https://blog.csdn.net/wsmalltiger/article/details/124236206前言  某天晚上正在开开心心写代码,忽然收到了线上告警:dubbo线程池活跃线程数告警、应用错误日志告警、dubbo线程池队列长度告警;瞬间意识到要出大事情了,得赶紧定位到原因并解决问题,不然时间长了肯定会影响商......
  • 启动redis时,告警日志中出现“The TCP backlog setting of 511……”以及“overcommit_
    问题描述:启动redis时,告警日志中出现“TheTCPbacklogsettingof511……”以及“overcommit_memoryissetto0…..”警告,如下所示:系统:rhel7.9数据库:redis6.2.61、异常重现[[email protected]]#redis-serverredis6379.conf[root@leo-redis626-aredis-6.......
  • Okhttp 的 retrofit2 运行警告信息异常
    最近在使用一个okhttp的项目运行的时候得到下面的警告信息。WARNING:AnillegalreflectiveaccessoperationhasoccurredWARNING:Illegalreflectiveaccessbyretrofit2.Platform(file:/C:/Users/yhu/.m2/repository/com/squareup/retrofit2/retrofit/2.9.0/retrofit-2.......
  • 浮点数二分(数的三次方)(银行贷款)
    //数的三次方(给出浮点数n)//AcWing790#include<stdio.h>doublen;intmain(){scanf("%lf",&n);doublel=-100,r=100;while(r-l>1e-8){doublemid=(l+r)/2;if(mid*mid*mid<=n)......
  • 三月三十日第三次实验
    实验一:#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){intline,c......
  • 三次握手和四次挥手
    TCP的三次握手和四次挥手实质就是指TCP通信的连接和断开三次握手第一次握手:客户端发送一个带有SYN标志的数据包给服务端。第二次握手:服务端成功接收到数据包后,回传一个带有STY标志的数据包确认信息,表示我已经接收到了。第三次握手:客户端再回传一个带有ACK标志的数据包,表......
  • 总结三次题目集的知识点、题量、难度等情况
    前言:题目集1是Java入门,大至涵盖了Java的几种基本语言结构,如循环,选择,数组。与c语言大致相似,上手较容易。但是题目难度不低,7-10GPS数据处理,不仅题目长难以理解,对有难度的字符串要求掌握熟练,输出要考虑的情况也很多,题目也达12题之多。其他题目在c语言里写过近似一模一样的题,写这个题......