Your question is Solve a Data Structures Problem. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Slack analytics groups each channel's normalized message tokens into contiguous runs. Given an array of tokens and an integer k, find the length of the longest contiguous subarray containing at most k distinct token values.
Use a sliding window so the algorithm scales linearly with the number of tokens. Token order must be preserved, and repeated occurrences count toward the window length but not toward its distinct-token count.
Implement longest_topic_run(tokens, k):
tokens, a list of strings, and k, a nonnegative integer.k distinct strings.0 when no non-empty valid window exists.def longest_topic_run(tokens, k):