Untitled

 avatar
unknown
plain_text
a year ago
716 B
6
Indexable
from collections import Counter, defaultdict
def findConsistentLogs(userEvent):
    overall_freq = Counter(userEvent)
    min_freq = min(overall_freq.values())
    
    window_freq = defaultdict(int)
    max_length = 0
    l = 0
    cur_max_freq = 0

    for r, user in enumerate(userEvent):
        window_freq[user] += 1
        cur_max_freq = max(cur_max_freq, window_freq[user])
        
        while l <= r and cur_max_freq > min_freq:
            window_freq[userEvent[l]] -= 1
            if window_freq[userEvent[l]] == cur_max_freq - 1:
                cur_max_freq -= 1
            l += 1

        if cur_max_freq == min_freq:
            max_length = max(max_length, r - l + 1)
    
    return max_length
Editor is loading...
Leave a Comment