news 2026/5/31 2:33:00

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/5/29 19:09:07

Folium地图路径分析架构解析:从底层投影到企业级应用实现

Folium地图路径分析架构解析&#xff1a;从底层投影到企业级应用实现 【免费下载链接】folium Python Data. Leaflet.js Maps. 项目地址: https://gitcode.com/gh_mirrors/fo/folium Folium作为Python生态中地理数据可视化的核心技术组件&#xff0c;通过将Leaflet.js的…

作者头像 李华
网站建设 2026/5/29 20:12:33

CNC参数计算与基础知识:从入门到精通的完整指南

&#x1f3af; 前言&#xff1a;为什么CNC参数计算如此重要&#xff1f; 在智能制造时代&#xff0c;CNC加工已经成为制造业的核心技术。然而&#xff0c;很多工程师和技术员在实际工作中都会遇到这样的困扰&#xff1a; 参数设置不当导致刀具磨损加剧、加工效率低下切削速度…

作者头像 李华
网站建设 2026/5/29 19:19:00

springboot基于vue的大学生创新计划项目管理web系统_l3n21tu0

目录已开发项目效果实现截图开发技术系统开发工具&#xff1a;核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/5/29 19:31:42

springboot基于vue的大学生心理健康测评与分析平台_fa7xkkpr

目录已开发项目效果实现截图开发技术系统开发工具&#xff1a;核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/5/30 17:02:12

超酷!用Python写回文音乐,3步搞定你的MIDI创作处女作

音乐与代码的碰撞能产生什么火花&#xff1f;当数学中的回文结构遇上MIDI音乐创作&#xff0c;我们可以用Python生成一首正着听反着听都相同的奇妙旋律。无需乐理基础&#xff0c;无需专业设备&#xff0c;只需30分钟&#xff0c;你就能完成人生第一首AI辅助创作的音乐作品。一…

作者头像 李华
网站建设 2026/5/30 22:14:57

教育照明核心指标解读:如何打造健康高效的光环境?

把教室照明这边环境当中处于专业测评角度之时形成的规划情况下&#xff0c;光源给出的品质的确是直接关联到学生的有关视觉存在的方面的健康以及他们自身学习时所存在的有关效率怎么样呢。在最近这些年份里头的现象&#xff0c;伴随着像《综合防控儿童青少年近视实施方案》这类…

作者头像 李华