当前位置: 首页 > article >正文

Leetcode 3433. Count Mentions Per User

  • Leetcode 3433. Count Mentions Per User
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3433. Count Mentions Per User

1. 解题思路

这一题我们首先需要将所有的event按照时间顺序进行排序,然后就只需要记录一下每一个用户下一次在线的时间以及其总的被at的次数即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def countMentions(self, numberOfUsers: int, events: List[List[str]]) -> List[int]:
        events = sorted(events, key=lambda x: (int(x[1]), 0 if x[0] == "OFFLINE" else 1))
        status = [0 for _ in range(numberOfUsers)]
        cnt = [0 for _ in range(numberOfUsers)]
        for event in events:
            t = int(event[1])
            if event[0] == "MESSAGE":
                mention = event[2]
                if mention == "ALL":
                    cnt = [x+1 for x in cnt]
                elif mention == "HERE":
                    cnt = [x+1 if t >= st else x for x, st in zip(cnt, status)]
                else:
                    for uid in mention.split(" "):
                        cnt[int(uid[2:])] += 1
            else:
                uid = int(event[2])
                status[uid] = t + 60
        return cnt    

提交代码评测得到:耗时38ms,占用内存18MB。


http://www.kler.cn/a/520193.html

相关文章:

  • C语言编译过程全面解析
  • 前端力扣刷题 | 4:hot100之 子串
  • unity.NavMesh Agent
  • aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk
  • 【2024年华为OD机试】(A卷,200分)- 查找树中元素 (JavaScriptJava PythonC/C++)
  • 積分方程與簡單的泛函分析8.具連續對稱核的非齊次第II類弗雷德霍姆積分算子方程
  • 04-机器学习-网页数据抓取
  • salesforce公式字段 ISBLANK 函数和 <> NULL的区别
  • 随笔十六、音频采集、UDP发送
  • 【设计模式-行为型】命令模式
  • 智能门铃开发与面试准备:技术解析与常见问题解答
  • SSH 的登录命令常见用法
  • 人工智能的应用领域和未来发展趋势
  • π0:仅有3B数据模型打通Franka等7种机器人形态适配,实现0样本的完全由模型自主控制方法
  • ESP32 I2S音频总线学习笔记(二):I2S读取INMP441音频数据
  • Java面试题2025-设计模式
  • Redis事务机制详解与Springboot项目中的使用
  • C++ 包装器与绑定器的应用之回调函数的实现
  • 美国主要的科技大公司及其产品介绍
  • 算子--数学与人工智能中的运算力量
  • C# 提取PDF表单数据
  • 旋转的错觉
  • Java Web-Tomcat Servlet
  • 运用python进行多任务学习过程中,手动调整权重时,如何选择项目并确定合适的权重值?
  • 【四川乡镇界面】图层shp格式arcgis数据乡镇名称和编码2020年wgs84无偏移内容测评
  • Spring Boot 支持的日志框架解析与最佳实践