1152. Analyze User Website Visit Pattern

Updated: 2024-03-12
1 min read
[]

On This Page

LeetCode problem 1152

class Solution:
    def mostVisitedPattern(
        self, username: List[str], timestamp: List[int], website: List[str]) -> List[str]:
        d = defaultdict(list)
        for user, _, site in sorted(zip(username, timestamp, website), key=lambda x: x[1]):
            d[user].append(site)

        cnt = Counter()
        for sites in d.values():
            m = len(sites)
            s = set()
            if m > 2:
                for i in range(m - 2):
                    for j in range(i + 1, m - 1):
                        for k in range(j + 1, m):
                            s.add((sites[i], sites[j], sites[k]))
            for t in s:
                cnt[t] += 1
        return sorted(cnt.items(), key=lambda x: (-x[1], x[0]))[0][0]