news 2026/3/22 17:54:44

leetcode 3433

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 3433

3433: 统计用户被提及情况

思路:排序+模拟

注意输入的 events 不保证是按时间顺序发生的,需要先排序。

按照时间戳 timestamp 从小到大排序,时间戳相同的,离线事件排在前面,因为题目要求「状态变更在所有相同时间发生的消息事件之前处理」。

然后模拟:

  • 离线事件:用一个数组 onlineT 记录用户下次在线的时间戳(60 秒后)。如果当前时间戳>= onlineT[i],则表示用户 i 已在线。
  • 消息事件:把相应用户的提及次数加一。
string& mention = e[2];

else{ // @id int idx=0; for(int i=0;i<mention.size();i++){ if(isdigit(mention[i])) idx=idx*10+(mention[i]-'0'); if(i+1==mention.size() || mention[i+1]==' '){ ans[idx]++; idx=0; } } }
  • isdigit(mention[i])是判断字符串mentioni个字符是不是十进制数字字符'0''9'
  • 1 <= numberOfUsers <= 100 因此要考虑可能出现形似id12 的情况idx=idx*10+(mention[i]-'0')
class Solution { public: vector<int> countMentions(int numberOfUsers, vector<vector<string>>& events) { vector<int> ans(numberOfUsers); vector<int> online_t(numberOfUsers,0); // 按照时间戳从小到大排序,时间戳相同的,离线事件排在前面 //两两比较,["MESSAGE","10","id1 id0"],["OFFLINE","11","0"] auto cmp=[](const vector<string>& lth,const vector<string>& rth){ int lth_tsp=stoi(lth[1]); //stoi适用于string转int int rth_tsp=stoi(rth[1]); if(lth_tsp!=rth_tsp) return lth_tsp<rth_tsp; else return lth[0]>rth[0]; // "OFFLINE" > "MESSAGE" 字典序 }; sort(events.begin(),events.end(),cmp); for(auto& e:events){ int curr_t=stoi(e[1]); // 当前时间 string& mention=e[2]; if(e[0][0]=='O'){ //离线事件 online_t[stoi(mention)]=curr_t+60; // 下次在线时间 } //消息事件 else if(mention[0]=='A'){ // @所有人 for(int i=0;i<numberOfUsers;i++) ans[i]++; } else if(mention[0]=='H'){ // @所有在线用户 for(int i=0;i<numberOfUsers;i++){ if(curr_t>=online_t[i]) ans[i]++; } } else{ // @id int idx=0; for(int i=0;i<mention.size();i++){ if(isdigit(mention[i])) idx=idx*10+(mention[i]-'0'); if(i+1==mention.size() || mention[i+1]==' '){ ans[idx]++; idx=0; } } } } return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 0:11:37

cdn请求设备间防回环一种简单有效实现方案

本文分享自天翼云开发者社区《cdn请求设备间防回环一种简单有效实现方案》.作者&#xff1a;周****鹤 实施步骤&#xff1a; 步骤一&#xff1a;配置设备唯一标识 在CDN网络中的每一台cache设备上&#xff0c;配置其唯一的设备标识&#xff08;如hostname&#xff09;。 确…

作者头像 李华
网站建设 2026/3/19 7:21:53

终极免费密码管理工具:告别密码记忆烦恼

还在为记不住各种复杂密码而烦恼吗&#xff1f;&#x1f914; 现代生活中&#xff0c;我们平均需要管理数十个不同的账号密码&#xff0c;从社交平台到银行账户&#xff0c;从工作系统到娱乐应用。使用简单重复的密码存在巨大安全隐患&#xff0c;而记录在便签或文档中更是危险…

作者头像 李华
网站建设 2026/3/13 0:11:43

Logto终极指南:10分钟掌握开源身份验证系统部署

Logto终极指南&#xff1a;10分钟掌握开源身份验证系统部署 【免费下载链接】logto logto-io/logto: 这是一个用于收集、分析和可视化日志数据的Web工具。适合用于需要收集、分析和可视化日志数据的场景。特点&#xff1a;易于使用&#xff0c;支持多种日志格式&#xff0c;具有…

作者头像 李华
网站建设 2026/3/12 23:51:01

抖音视频自动发布工具终极指南:从入门到精通

抖音视频自动发布工具终极指南&#xff1a;从入门到精通 【免费下载链接】douyin_uplod 抖音自动上传发布视频 项目地址: https://gitcode.com/gh_mirrors/do/douyin_uplod 在内容创作日益普及的今天&#xff0c;抖音已成为众多创作者展示才华的重要平台。然而&#xff…

作者头像 李华
网站建设 2026/3/12 23:51:13

39M参数撬动百亿市场:Whisper-Tiny.en引领嵌入式语音交互革命

39M参数撬动百亿市场&#xff1a;Whisper-Tiny.en引领嵌入式语音交互革命 【免费下载链接】whisper-tiny.en 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-tiny.en 导语 OpenAI推出的Whisper-Tiny.en模型以3900万参数实现8.44%的英语语音识别错误率&a…

作者头像 李华
网站建设 2026/3/16 21:00:22

终极指南:M3 Pro芯片运行CosyVoice性能优化技巧

想要在M3 Pro芯片的MacBook上流畅运行CosyVoice多语言语音生成模型吗&#xff1f;本文将为你揭示从卡顿到丝滑的完整性能优化方案&#xff0c;让Apple Silicon发挥最大潜能&#xff0c;实现语音合成效率的显著提升。 【免费下载链接】CosyVoice Multi-lingual large voice gene…

作者头像 李华