本文主要是介绍查找用户的活跃分钟数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原题指路
查找用户的活跃分钟数
解题思路
这道题由于用户的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
这篇关于查找用户的活跃分钟数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!