查找用户的活跃分钟数

2024-03-01 12:32
文章标签 查找 分钟 用户 活跃

本文主要是介绍查找用户的活跃分钟数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原题指路

查找用户的活跃分钟数

解题思路

图片1.png
这道题由于用户的ID值过于随机,所以在记录用户活跃分钟数的时候同样采用了哈希表的方式进行记录。
此外,由于用户在同一个时间点可能进行多个操作,但是只会将这个时间点记为一个活跃分钟数,所以可以采用哈希表进行时间点是否重复的判断。

时间复杂度: O ( n ) O(n) O(n)(最坏情况下为 O ( n 2 ) O(n^2) O(n2)
空间复杂度: O ( n ) O(n) O(n)

代码

class Solution:def findingUsersActiveMinutes(self, logs: list[list[int]], k: int) -> list[int]:res = [0]*kdict = {}  # 用于记录用户活跃分钟数的字典record = {}  # 用于记录用户操作时间点的字典,值为一个列表for log in logs:  # 遍历操作日志更新两个字典if dict.get(log[0]) is None:dict[log[0]] = 1record[log[0]] = [log[1]]else:if log[1] not in record[log[0]]:dict[log[0]] += 1record[log[0]].append(log[1])for value in dict.values():  # 遍历字典中所有的值用以求出答案res[value - 1] += 1return res

这篇关于查找用户的活跃分钟数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762459

相关文章

【Altium】查找PCB上未连接的网络

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标: PCB设计后期检查中找出没有连接的网络 应用场景:PCB设计后期,需要检查是否所有网络都已连接布线。虽然未连接的网络会有飞线显示,但是由于布线后期整板布线密度较高,虚连,断连的网络用肉眼难以轻易发现。用DRC检查也可以找出未连接的网络,如果PCB中DRC问题较多,查找起来就不是很方便。使用PCB Filter面板来达成目的相比DRC

Win10用户必看:最好用最稳定的版本在此,值得一试!

在Win10电脑操作中,用户可以根据的需要,下载安装不同的系统版本。现在,许多用户好奇Win10哪个版本最好用最稳定?接下来小编给大家推荐最好用最稳定的Win10版本,这些系统版本经过优化升级,相信会给大家带来最棒的操作体验感,且下载安装步骤非常简单。   推荐一:Windows10 22H2 X64 官方正式版   点击下载:https://www.xitongzhijia.net/wi

插入用户APC

每个_Kthread都有一个成员Alerted,默认为0,表示是否可以被APC唤醒。所以下面这段程序,即使插入了APC,但是t线程仍然不会执行。 让t线程执行APC函数的方法是使t线程变成可被唤醒状态,使用函数SleepEx(时间,是否可以唤醒线程),第二个参数为true,Alerted设置为1,即可被唤醒;在插入APC时,APC函数就会执行。 #include "stdafx.h"#inc

java NIO 缓存区之内核空间、用户空间和虚拟地址

IO是基于缓存区来做的,所谓的输入和输出就是从缓存区中移入和移出数据。以IO输入为例,首先是用户空间进程向内核请求某个磁盘空间数据,然后内核将磁盘数据读取到内核空间的buffer中,然后用户空间的进程再将内核空间buffer中的数据读取到自身的buffer中,然后进程就可以访问使用这些数据。     内核空间是指操作系统内核运行的空间,是为了保证操作系统内核的能够安全稳定地运行而为内核专

九分钟学会 Markdown

转自:http://dapengde.com/archives/17033 技多不压身。如果你愿意花九分钟学一个当前流行的软件技术的话,可以开始计时了。 00:00 是什么以及为什么 Markdown 是一种轻量级标记语言。好吧,我承认这不是人话。换个说法:Windows 里的记事本或办公软件 Word 你用过吧?类似的,Markdown 软件是用来在电脑里写文字的(作文、笔记、会

使用J-Link Commander查找STM32死机问题

接口:PA13,PA14,请勿连接复位引脚。 输入usb命令 这里我已经连接过了STM32F407VET6了。 再输入connect命令 这里我已经默认选择了SWD接口,4000K速率。 可以输入speed 4000命令选择4000K速率: 写一段崩溃代码进行测试: void CashCode(void){*((volatile uint32_t*) 0x080FFFFF)

二分查找(算法篇)

算法之二分查找 二分查找 概念: 针对于已经预先排序好的数据,每次将数据进行对半查找,然后看它中间的数据是否是要找的,如果是就返回中间位置,不是就判断该数据是在前半部分还是后半部,然后在进而取其中部,看其是否找到,然后如果还没找到就一直重复操作,直到找到为止,该算法时间复杂度为O(logn) 代码: int search(vector<int>& nums, int target) {i

4、SpringMVC 实战小项目【加法计算器、用户登录、留言板、图书管理系统】

SpringMVC 实战小项目 3.1 加法计算器3.1.1 准备⼯作前端 3.1.2 约定前后端交互接⼝需求分析接⼝定义请求参数:响应数据: 3.1.3 服务器代码 3.2 ⽤⼾登录3.2.1 准备⼯作3.2.2 约定前后端交互接⼝3.2.3 实现服务器端代码 3.3 留⾔板实现服务器端代码 3.4 图书管理系统准备后端 3.1 加法计算器 需求: 输⼊两个整数, 点击"点

2023-2024 学年第二学期小学数学六年级期末质量检测模拟(制作:王胤皓)(90分钟)

word效果预览: 一、我会填 1. 1.\hspace{0.5em} 1. 一个多位数,亿位上是次小的素数,千位上是最小的质数的立方,十万位是 10 10 10 和 15 15 15 的最大公约数,万位是最小的合数,十位上的数既不是质数也不是合数,这个数是 ( \hspace{4em} ),约等于 ( \hspace{1em} ) 万 2. 2.\hspace{0.5em} 2.