LeetCode题解(1152):用户网站访问行为分析(Python)
发布日期:2021-06-29 20:09:45 浏览次数:2 分类:技术文章

本文共 1196 字,大约阅读时间需要 3 分钟。

题目:(中等)

标签:哈希表、数组、排序

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N 3 ) O(N^3) O(N3) O ( N 3 ) O(N^3) O(N3) 72ms (50.98%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:    def mostVisitedPattern(self, username: List[str], timestamp: List[int], website: List[str]) -> List[str]:        size1 = len(username)        # 依据用户整理        # O(N)        count1 = collections.defaultdict(list)        for i in range(size1):            user, time, site = username[i], timestamp[i], website[i]            count1[user].append((time, site))        count2 = collections.defaultdict(list)        for user, lst in count1.items():            count2[user] = [i[1] for i in sorted(lst)]        # 依据路径整理        count3 = collections.Counter()        for lst in count2.values():            paths = set()            size2 = len(lst)            for i in range(size2):                for j in range(i + 1, size2):                    for k in range(j + 1, size2):                        paths.add((lst[i], lst[j], lst[k]))            # 每个用户去重            for path in paths:                count3[path] += 1        # 返回结果        ans = list(count3.keys())        ans.sort(key=lambda x: (-count3[x], x))        return list(ans[0])

转载地址:https://dataartist.blog.csdn.net/article/details/109847477 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(1166):设计文件系统(Python)
下一篇:LeetCode题解(1133):最大唯一数(Python)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月04日 23时05分19秒